mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-22 23:06:18 +00:00
Fix .desktop file creation
This commit is contained in:
parent
5e47258600
commit
474bb2ce30
2 changed files with 28 additions and 20 deletions
|
|
@ -90,7 +90,12 @@ raiseRbExc(const Exception &exc);
|
||||||
template<rb_data_type_t *rbType>
|
template<rb_data_type_t *rbType>
|
||||||
static VALUE classAllocate(VALUE klass)
|
static VALUE classAllocate(VALUE klass)
|
||||||
{
|
{
|
||||||
|
/* 2.3 has changed the name of this function */
|
||||||
|
#if RUBY_API_VERSION_MAJOR >= 2 && RUBY_API_VERSION_MINOR >= 3
|
||||||
return rb_data_typed_object_wrap(klass, 0, rbType);
|
return rb_data_typed_object_wrap(klass, 0, rbType);
|
||||||
|
#else
|
||||||
|
return rb_data_typed_object_alloc(klass, 0, rbType);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class C>
|
template<class C>
|
||||||
|
|
|
||||||
|
|
@ -375,20 +375,14 @@ module Script
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.copy_journal
|
def self.copy_journal
|
||||||
|
# If the required directories don't exist, create them
|
||||||
Dir.mkdir(Oneshot::GAME_PATH) unless File.exists?(Oneshot::GAME_PATH)
|
Dir.mkdir(Oneshot::GAME_PATH) unless File.exists?(Oneshot::GAME_PATH)
|
||||||
Dir.mkdir(Oneshot::GAME_PATH + "/Oneshot") unless File.exists?(Oneshot::GAME_PATH + "/Oneshot")
|
Dir.mkdir(Oneshot::GAME_PATH + "/Oneshot") unless File.exists?(Oneshot::GAME_PATH + "/Oneshot")
|
||||||
begin
|
begin
|
||||||
if File.file?(Oneshot::JOURNAL)
|
# If we're on a supported Linux DE, make a .desktop file
|
||||||
File.open(Oneshot::JOURNAL, "rb") do |input|
|
# so the clover icon can be properly shown
|
||||||
File.open(Oneshot::GAME_PATH + "/Oneshot/" + Oneshot::JOURNAL, "wb") do |output|
|
|
||||||
while buff = input.read(4096)
|
|
||||||
output.write(buff)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
if Oneshot::OS == "linux" and SUPPORTED_DE.include? Oneshot::DE
|
if Oneshot::OS == "linux" and SUPPORTED_DE.include? Oneshot::DE
|
||||||
path = Oneshot::GAME_PATH + "/Oneshot/" + Oneshot::JOURNAL + ".desktop"
|
path = "#{Oneshot::GAME_PATH}/Oneshot/#{Oneshot::JOURNAL}.desktop"
|
||||||
File.open(path, "wb") do |output|
|
File.open(path, "wb") do |output|
|
||||||
output.write("[Desktop Entry]\n")
|
output.write("[Desktop Entry]\n")
|
||||||
output.write("Comment=...\n")
|
output.write("Comment=...\n")
|
||||||
|
|
@ -398,17 +392,26 @@ module Script
|
||||||
output.write("Type=Application\n")
|
output.write("Type=Application\n")
|
||||||
output.write("Icon=#{Dir.pwd}/images/icon.png\n")
|
output.write("Icon=#{Dir.pwd}/images/icon.png\n")
|
||||||
end
|
end
|
||||||
FileUtils.chmod 0777 path
|
File.chmod(0777, path)
|
||||||
|
# If the journal is a file, copy it to Documents
|
||||||
|
elsif File.file?(Oneshot::JOURNAL)
|
||||||
|
File.open(Oneshot::JOURNAL, "rb") do |input|
|
||||||
|
File.open("#{Oneshot::GAME_PATH}/Oneshot/#{Oneshot::JOURNAL}", "wb") do |output|
|
||||||
|
while buff = input.read(4096)
|
||||||
|
output.write(buff)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# If the journal isn't a file, symlink it
|
||||||
else
|
else
|
||||||
File.symlink Dir.pwd + "/" + Oneshot::JOURNAL, Oneshot::GAME_PATH + "/Oneshot/" + Oneshot::JOURNAL
|
File.symlink "#{Dir.pwd}/#{Oneshot::JOURNAL}", "#{Oneshot::GAME_PATH}/Oneshot/#{Oneshot::JOURNAL}"
|
||||||
end
|
end
|
||||||
|
rescue Errno::EACCES => e
|
||||||
|
# this probably means the clover.exe already exists and is running, so no need to create it again
|
||||||
|
rescue Errno::EEXIST => e
|
||||||
|
# this means that the journal file already exists, so no need to create it again
|
||||||
end
|
end
|
||||||
rescue Errno::EACCES => e
|
if File.exists?("README.txt")
|
||||||
#this probably means the clover.exe already exists and is running, so no need to create it again
|
|
||||||
rescue Errno::EEXIST => e
|
|
||||||
#this means that the journal file already exists, so no need to create it again
|
|
||||||
end
|
|
||||||
if File.exists?("README.txt")
|
|
||||||
File.open("README.txt", "rb") do |input|
|
File.open("README.txt", "rb") do |input|
|
||||||
File.open(Oneshot::GAME_PATH + "/Oneshot/README.txt","wb") do |output|
|
File.open(Oneshot::GAME_PATH + "/Oneshot/README.txt","wb") do |output|
|
||||||
while buff = input.read(4096)
|
while buff = input.read(4096)
|
||||||
|
|
@ -416,7 +419,7 @@ module Script
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.create_boxes
|
def self.create_boxes
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue