Module: RGSS

Defined in:
lib/classes.rb

Constant Summary collapse

CLASSES_NESTED_ARRAY =

All used Ruby classes inside RPG Maker XP, VX, VX Ace games, that must be initialized to properly Marshal.load() files from these games

[
    # RGSS data structures
    %i[RPG Actor],
    %i[RPG Animation],
    %i[RPG Animation Frame],
    %i[RPG Animation Timing],
    %i[RPG Area],
    %i[RPG Armor],
    %i[RPG AudioFile],
    %i[RPG BaseItem],
    %i[RPG BaseItem Feature],
    %i[RPG BGM],
    %i[RPG BGS],
    %i[RPG Class],
    %i[RPG Class Learning],
    %i[RPG CommonEvent],
    %i[RPG Enemy],
    %i[RPG Enemy Action],
    %i[RPG Enemy DropItem],
    %i[RPG EquipItem],
    %i[RPG Event],
    %i[RPG Event Page],
    %i[RPG Event Page Condition],
    %i[RPG Event Page Graphic],
    %i[RPG EventCommand],
    %i[RPG Item],
    %i[RPG Map],
    %i[RPG Map Encounter],
    %i[RPG MapInfo],
    %i[RPG ME],
    %i[RPG MoveCommand],
    %i[RPG MoveRoute],
    %i[RPG SE],
    %i[RPG Skill],
    %i[RPG State],
    %i[RPG System],
    %i[RPG System Terms],
    %i[RPG System TestBattler],
    %i[RPG System Vehicle],
    %i[RPG System Words],
    %i[RPG Tileset],
    %i[RPG Troop],
    %i[RPG Troop Member],
    %i[RPG Troop Page],
    %i[RPG Troop Page Condition],
    %i[RPG UsableItem],
    %i[RPG UsableItem Damage],
    %i[RPG UsableItem Effect],
    %i[RPG Weapon],
].freeze

Class Method Summary collapse

Class Method Details

.process(root, name, *args) ⇒ Object

creates an empty class in a potentially nested scope



156
157
158
159
160
161
162
# File 'lib/classes.rb', line 156

def self.process(root, name, *args)
    if args.empty?
        root.const_set(name, Class.new) unless root.const_defined?(name, false)
    else
        process(root.const_get(name), *args)
    end
end