Merge pull request #4528 from Mailaender/mime
Registered Linux MIME type to directly load replays
This commit is contained in:
8
Makefile
8
Makefile
@@ -391,6 +391,13 @@ install-linux-desktop:
|
|||||||
@$(INSTALL_DATA) packaging/linux/openra.desktop "$(DESTDIR)$(datadir)/applications"
|
@$(INSTALL_DATA) packaging/linux/openra.desktop "$(DESTDIR)$(datadir)/applications"
|
||||||
@$(INSTALL_DATA) packaging/linux/openra-editor.desktop "$(DESTDIR)$(datadir)/applications"
|
@$(INSTALL_DATA) packaging/linux/openra-editor.desktop "$(DESTDIR)$(datadir)/applications"
|
||||||
|
|
||||||
|
install-linux-mime:
|
||||||
|
@$(INSTALL_DIR) "$(DESTDIR)$(datadir)/mime/packages/"
|
||||||
|
@$(INSTALL_DATA) packaging/linux/openra-mimeinfo.xml "$(DESTDIR)$(datadir)/mime/packages/openra.xml"
|
||||||
|
|
||||||
|
@$(INSTALL_DIR) "$(DESTDIR)$(datadir)/applications"
|
||||||
|
@$(INSTALL_DATA) packaging/linux/openra-replays.desktop "$(DESTDIR)$(datadir)/applications"
|
||||||
|
|
||||||
install-linux-scripts:
|
install-linux-scripts:
|
||||||
@echo "#!/bin/sh" > openra
|
@echo "#!/bin/sh" > openra
|
||||||
@echo 'cd "$(gameinstalldir)"' >> openra
|
@echo 'cd "$(gameinstalldir)"' >> openra
|
||||||
@@ -426,6 +433,7 @@ uninstall:
|
|||||||
@-$(RM_F) "$(DESTDIR)$(datadir)/icons/hicolor/48x48/apps/openra-editor.png"
|
@-$(RM_F) "$(DESTDIR)$(datadir)/icons/hicolor/48x48/apps/openra-editor.png"
|
||||||
@-$(RM_F) "$(DESTDIR)$(datadir)/icons/hicolor/64x64/apps/openra.png"
|
@-$(RM_F) "$(DESTDIR)$(datadir)/icons/hicolor/64x64/apps/openra.png"
|
||||||
@-$(RM_F) "$(DESTDIR)$(datadir)/icons/hicolor/128x128/apps/openra.png"
|
@-$(RM_F) "$(DESTDIR)$(datadir)/icons/hicolor/128x128/apps/openra.png"
|
||||||
|
@-$(RM_F) "$(DESTDIR)$(datadir)/mime/packages/openra.xml"
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo to compile, run:
|
@echo to compile, run:
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ namespace OpenRA.FileFormats
|
|||||||
|
|
||||||
public void RenameFile(string newFilenameWithoutExtension)
|
public void RenameFile(string newFilenameWithoutExtension)
|
||||||
{
|
{
|
||||||
var newPath = Path.Combine(Path.GetDirectoryName(FilePath), newFilenameWithoutExtension) + ".rep";
|
var newPath = Path.Combine(Path.GetDirectoryName(FilePath), newFilenameWithoutExtension) + ".orarep";
|
||||||
File.Move(FilePath, newPath);
|
File.Move(FilePath, newPath);
|
||||||
FilePath = newPath;
|
FilePath = newPath;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace OpenRA.Network
|
|||||||
var id = -1;
|
var id = -1;
|
||||||
while (file == null)
|
while (file == null)
|
||||||
{
|
{
|
||||||
var fullFilename = Path.Combine(dir, id < 0 ? "{0}.rep".F(filename) : "{0}-{1}.rep".F(filename, id));
|
var fullFilename = Path.Combine(dir, id < 0 ? "{0}.orarep".F(filename) : "{0}-{1}.orarep".F(filename, id));
|
||||||
id++;
|
id++;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
using (new Support.PerfTimer("Load replays"))
|
using (new Support.PerfTimer("Load replays"))
|
||||||
{
|
{
|
||||||
replays = Directory
|
replays = Directory
|
||||||
.GetFiles(dir, "*.rep")
|
.GetFiles(dir, "*.orarep")
|
||||||
.Select(ReplayMetadata.Read)
|
.Select(ReplayMetadata.Read)
|
||||||
.Where(r => r != null)
|
.Where(r => r != null)
|
||||||
.OrderByDescending(r => r.GameInfo.StartTimeUtc)
|
.OrderByDescending(r => r.GameInfo.StartTimeUtc)
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# TODO choose the correct Game.Mod instead of crashing
|
|
||||||
cd ${0%/*}
|
cd ${0%/*}
|
||||||
exec mono OpenRA.Game.exe Launch.Replay="$@"
|
exec mono OpenRA.Game.exe Launch.Replay="$@"
|
||||||
@@ -22,6 +22,7 @@ make install-all prefix="/usr" DESTDIR="$PWD/packaging/linux/$ROOTDIR"
|
|||||||
|
|
||||||
# Install startup scripts, desktop files and icons
|
# Install startup scripts, desktop files and icons
|
||||||
make install-linux-shortcuts prefix="/usr" DESTDIR="$PWD/packaging/linux/$ROOTDIR"
|
make install-linux-shortcuts prefix="/usr" DESTDIR="$PWD/packaging/linux/$ROOTDIR"
|
||||||
|
make install-linux-mime prefix="/usr" DESTDIR="$PWD/packaging/linux/$ROOTDIR"
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
mkdir -p $PWD/packaging/linux/$ROOTDIR/usr/share/doc/openra/
|
mkdir -p $PWD/packaging/linux/$ROOTDIR/usr/share/doc/openra/
|
||||||
|
|||||||
11
packaging/linux/openra-mimeinfo.xml
Normal file
11
packaging/linux/openra-mimeinfo.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
|
||||||
|
|
||||||
|
<mime-type type="application/x-openra-replay">
|
||||||
|
<icon name="openra" />
|
||||||
|
<generic-icon name="applications-games"/>
|
||||||
|
<comment>OpenRA Replay</comment>
|
||||||
|
<glob weight="60" pattern="*.orarep"/>
|
||||||
|
</mime-type>
|
||||||
|
|
||||||
|
</mime-info>
|
||||||
12
packaging/linux/openra-replays.desktop
Executable file
12
packaging/linux/openra-replays.desktop
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Version=1.0
|
||||||
|
Name=OpenRA
|
||||||
|
GenericName=Real Time Strategy Game
|
||||||
|
Comment=Reimagining of early Westwood Games
|
||||||
|
Icon=openra
|
||||||
|
Exec=openra Launch.Replay=%f
|
||||||
|
Terminal=false
|
||||||
|
NoDisplay=true
|
||||||
|
Categories=Game;StrategyGame;
|
||||||
|
MimeType=application/x-openra-replay;
|
||||||
Reference in New Issue
Block a user