Removed deprecated methods

This commit is contained in:
Maruno17
2024-06-27 21:37:00 +01:00
parent 509a414f37
commit 6cc07d1c7a
12 changed files with 1 additions and 866 deletions

View File

@@ -297,88 +297,6 @@ module Compiler
# Convert a string to certain kinds of values.
#-----------------------------------------------------------------------------
# Unused.
# NOTE: This method is about 10 times slower than split_csv_line.
def csvfield!(str)
ret = ""
str.sub!(/^\s*/, "")
if str[0, 1] == "\""
str[0, 1] = ""
escaped = false
fieldbytes = 0
str.scan(/./) do |s|
fieldbytes += s.length
break if s == "\"" && !escaped
if s == "\\" && !escaped
escaped = true
else
ret += s
escaped = false
end
end
str[0, fieldbytes] = ""
if !str[/^\s*,/] && !str[/^\s*$/]
raise _INTL("Invalid quoted field (in: {1}).", str) + "\n" + FileLineData.linereport
end
str[0, str.length] = $~.post_match
else
if str[/,/]
str[0, str.length] = $~.post_match
ret = $~.pre_match
else
ret = str.clone
str[0, str.length] = ""
end
ret.gsub!(/\s+$/, "")
end
return ret
end
# Unused.
def csvBoolean!(str, _line = -1)
field = csvfield!(str)
return true if field[/^(?:1|TRUE|YES|Y)$/i]
return false if field[/^(?:0|FALSE|NO|N)$/i]
raise _INTL("Field '{1}' is not a Boolean value (true, false, 1, 0).", field) + "\n" + FileLineData.linereport
end
# Unused.
def csvInt!(str, _line = -1)
ret = csvfield!(str)
if !ret[/^\-?\d+$/]
raise _INTL("Field '{1}' is not an integer.", ret) + "\n" + FileLineData.linereport
end
return ret.to_i
end
# Unused.
def csvPosInt!(str, _line = -1)
ret = csvfield!(str)
if !ret[/^\d+$/]
raise _INTL("Field '{1}' is not a positive integer.", ret) + "\n" + FileLineData.linereport
end
return ret.to_i
end
# Unused.
def csvFloat!(str, _line = -1)
ret = csvfield!(str)
return Float(ret) rescue raise _INTL("Field '{1}' is not a number.", ret) + "\n" + FileLineData.linereport
end
# Unused.
def csvEnumField!(value, enumer, _key, _section)
ret = csvfield!(value)
return checkEnumField(ret, enumer)
end
# Unused.
def csvEnumFieldOrInt!(value, enumer, _key, _section)
ret = csvfield!(value)
return ret.to_i if ret[/\-?\d+/]
return checkEnumField(ret, enumer)
end
# Turns a value (a string) into another data type as determined by the given
# schema.
# @param value [String]
@@ -485,207 +403,6 @@ module Compiler
raise _INTL("Enumeration not defined.") + "\n" + FileLineData.linereport
end
# Unused.
def checkEnumFieldOrNil(ret, enumer)
case enumer
when Module
return nil if nil_or_empty?(ret) || !(enumer.const_defined?(ret) rescue false)
return enumer.const_get(ret.to_sym)
when Symbol, String
if GameData.const_defined?(enumer.to_sym)
enumer = GameData.const_get(enumer.to_sym)
return nil if nil_or_empty?(ret) || !enumer.exists?(ret.to_sym)
return ret.to_sym
end
enumer = Object.const_get(enumer.to_sym)
return nil if nil_or_empty?(ret) || !(enumer.const_defined?(ret) rescue false)
return enumer.const_get(ret.to_sym)
when Array
idx = findIndex(enumer) { |item| ret == item }
return nil if idx < 0
return idx
when Hash
return enumer[ret]
end
return nil
end
#-----------------------------------------------------------------------------
# Convert a string to values using a schema.
# Unused.
# @deprecated This method is slated to be removed in v22.
def pbGetCsvRecord(rec, lineno, schema)
Deprecation.warn_method("pbGetCsvRecord", "v22", "get_csv_record")
record = []
repeat = false
schema_length = schema[1].length
start = 0
case schema[1][0, 1]
when "*"
repeat = true
start = 1
when "^"
start = 1
schema_length -= 1
end
subarrays = repeat && schema[1].length > 2
loop do
subrecord = []
(start...schema[1].length).each do |i|
chr = schema[1][i, 1]
case chr
when "i" # Integer
subrecord.push(csvInt!(rec, lineno))
when "I" # Optional integer
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^\-?\d+$/]
raise _INTL("Field '{1}' is not an integer.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field.to_i)
end
when "u" # Positive integer or zero
subrecord.push(csvPosInt!(rec, lineno))
when "U" # Optional positive integer or zero
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^\d+$/]
raise _INTL("Field '{1}' must be 0 or greater.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field.to_i)
end
when "v" # Positive integer
field = csvPosInt!(rec, lineno)
raise _INTL("Field '{1}' must be greater than 0.", field) + "\n" + FileLineData.linereport if field == 0
subrecord.push(field)
when "V" # Optional positive integer
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^\d+$/]
raise _INTL("Field '{1}' must be greater than 0.", field) + "\n" + FileLineData.linereport
elsif field.to_i == 0
raise _INTL("Field '{1}' must be greater than 0.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field.to_i)
end
when "x" # Hexadecimal number
field = csvfield!(rec)
if !field[/^[A-Fa-f0-9]+$/]
raise _INTL("Field '{1}' is not a hexadecimal number.", field) + "\n" + FileLineData.linereport
end
subrecord.push(field.hex)
when "X" # Optional hexadecimal number
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^[A-Fa-f0-9]+$/]
raise _INTL("Field '{1}' is not a hexadecimal number.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field.hex)
end
when "f" # Floating point number
subrecord.push(csvFloat!(rec, lineno))
when "F" # Optional floating point number
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^\-?^\d*\.?\d*$/]
raise _INTL("Field '{1}' is not a floating point number.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field.to_f)
end
when "b" # Boolean
subrecord.push(csvBoolean!(rec, lineno))
when "B" # Optional Boolean
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif field[/^1|[Tt][Rr][Uu][Ee]|[Yy][Ee][Ss]|[Tt]|[Yy]$/]
subrecord.push(true)
else
subrecord.push(false)
end
when "n" # Name
field = csvfield!(rec)
if !field[/^(?![0-9])\w+$/]
raise _INTL("Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.", field) + "\n" + FileLineData.linereport
end
subrecord.push(field)
when "N" # Optional name
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^(?![0-9])\w+$/]
raise _INTL("Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field)
end
when "s" # String
subrecord.push(csvfield!(rec))
when "S" # Optional string
field = csvfield!(rec)
subrecord.push((nil_or_empty?(field)) ? nil : field)
when "q" # Unformatted text
subrecord.push(rec)
rec = ""
when "Q" # Optional unformatted text
if nil_or_empty?(rec)
subrecord.push(nil)
else
subrecord.push(rec)
rec = ""
end
when "m" # Symbol
field = csvfield!(rec)
if !field[/^(?![0-9])\w+$/]
raise _INTL("Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.", field) + "\n" + FileLineData.linereport
end
subrecord.push(field.to_sym)
when "M" # Optional symbol
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif !field[/^(?![0-9])\w+$/]
raise _INTL("Field '{1}' must contain only letters, digits, and\nunderscores and can't begin with a number.", field) + "\n" + FileLineData.linereport
else
subrecord.push(field.to_sym)
end
when "e" # Enumerable
subrecord.push(csvEnumField!(rec, schema[2 + i - start], "", FileLineData.linereport))
when "E" # Optional enumerable
field = csvfield!(rec)
subrecord.push(checkEnumFieldOrNil(field, schema[2 + i - start]))
when "y" # Enumerable or integer
field = csvfield!(rec)
subrecord.push(csvEnumFieldOrInt!(field, schema[2 + i - start], "", FileLineData.linereport))
when "Y" # Optional enumerable or integer
field = csvfield!(rec)
if nil_or_empty?(field)
subrecord.push(nil)
elsif field[/^\-?\d+$/]
subrecord.push(field.to_i)
else
subrecord.push(checkEnumFieldOrNil(field, schema[2 + i - start]))
end
end
end
if !subrecord.empty?
if subarrays
record.push(subrecord)
else
record.concat(subrecord)
end
end
break if repeat && nil_or_empty?(rec)
break unless repeat
end
return (!repeat && schema_length == 1) ? record[0] : record
end
#-----------------------------------------------------------------------------
# Convert a string to values using a schema.