Fixed being unable to write values to PBS files that were enumerated to something other than a number, error log files now go in the game's folder

This commit is contained in:
Maruno17
2023-11-04 23:32:43 +00:00
parent 5cab0f407d
commit 092fbda34d
4 changed files with 48 additions and 61 deletions

1
.gitignore vendored
View File

@@ -10,6 +10,7 @@ Data/*
!Data/messages_core.dat
# Files in the main project folder
errorlog.txt
Game.ini
Game.rxproj
RGSS*.dll

View File

@@ -51,7 +51,6 @@ def pbPrintException(e)
end
# output to log
errorlog = "errorlog.txt"
errorlog = RTP.getSaveFileName("errorlog.txt") if (Object.const_defined?(:RTP) rescue false)
File.open(errorlog, "ab") do |f|
f.write("\r\n=================\r\n\r\n[#{Time.now}]\r\n")
f.write(message)

View File

@@ -380,7 +380,6 @@ module PluginManager
e.backtrace[0, 10].each { |i| message += "#{i}\r\n" }
# output to log
errorlog = "errorlog.txt"
errorlog = RTP.getSaveFileName("errorlog.txt") if (Object.const_defined?(:RTP) rescue false)
File.open(errorlog, "ab") do |f|
f.write("\r\n=================\r\n\r\n[#{Time.now}]\r\n")
f.write(message)

View File

@@ -760,21 +760,7 @@ module Compiler
end
end
file.write(",") if index > 0
if value.nil?
# do nothing
elsif value.is_a?(String)
if schema[1][i, 1].downcase == "q"
file.write(value)
else
file.write(csvQuote(value))
end
elsif value.is_a?(Symbol)
file.write(csvQuote(value.to_s))
elsif value == true
file.write("true")
elsif value == false
file.write("false")
elsif value.is_a?(Numeric)
next if value.nil?
case schema[1][i, 1]
when "e", "E" # Enumerable
enumer = schema[2 + i]
@@ -788,21 +774,16 @@ module Compiler
file.write(getConstantName(enumer, value))
when Hash
enumer.each_key do |key|
if enumer[key] == value
next if enumer[key] != value
file.write(key)
break
end
end
end
when "y", "Y" # Enumerable or integer
enumer = schema[2 + i]
case enumer
when Array
if enumer[value].nil?
file.write(value)
else
file.write(enumer[value])
end
file.write((enumer[value].nil?) ? value : enumer[value])
when Symbol, String
mod = Object.const_get(enumer.to_sym)
file.write(getConstantNameOrValue(mod, value))
@@ -818,13 +799,20 @@ module Compiler
end
file.write(value) unless hasenum
end
else # Any other record type
file.write(value.inspect)
end
else
if value.is_a?(String)
file.write((schema[1][i, 1].downcase == "q") ? value : csvQuote(value))
elsif value.is_a?(Symbol)
file.write(csvQuote(value.to_s))
elsif value == true
file.write("true")
elsif value == false
file.write("false")
else
file.write(value.inspect)
end
end
end
break if start > 0 && index >= rec.length - 1
break if start <= 0
end