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 !Data/messages_core.dat
# Files in the main project folder # Files in the main project folder
errorlog.txt
Game.ini Game.ini
Game.rxproj Game.rxproj
RGSS*.dll RGSS*.dll

View File

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

View File

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

View File

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