mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Removed deprecated methods
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user