eidolon 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. checksums.yaml +15 -0
  2. data/LICENSE +19 -0
  3. data/README.md +76 -0
  4. data/lib/eidolon.rb +129 -0
  5. data/lib/eidolon/rgss.rb +2 -0
  6. data/lib/eidolon/rgss/loader.rb +24 -0
  7. data/lib/eidolon/rgss/rpg.rb +18 -0
  8. data/lib/eidolon/rgss/rpg/actor.rb +31 -0
  9. data/lib/eidolon/rgss/rpg/armor.rb +25 -0
  10. data/lib/eidolon/rgss/rpg/class.rb +17 -0
  11. data/lib/eidolon/rgss/rpg/class/learning.rb +15 -0
  12. data/lib/eidolon/rgss/rpg/enemy.rb +34 -0
  13. data/lib/eidolon/rgss/rpg/enemy/action.rb +22 -0
  14. data/lib/eidolon/rgss/rpg/item.rb +34 -0
  15. data/lib/eidolon/rgss/rpg/skill.rb +34 -0
  16. data/lib/eidolon/rgss/rpg/state.rb +37 -0
  17. data/lib/eidolon/rgss/rpg/system.rb +44 -0
  18. data/lib/eidolon/rgss/rpg/system/test_battler.rb +20 -0
  19. data/lib/eidolon/rgss/rpg/system/words.rb +33 -0
  20. data/lib/eidolon/rgss/rpg/tileset.rb +26 -0
  21. data/lib/eidolon/rgss/rpg/weapon.rb +26 -0
  22. data/lib/eidolon/rgss2.rb +2 -0
  23. data/lib/eidolon/rgss2/loader.rb +39 -0
  24. data/lib/eidolon/rgss2/rpg.rb +26 -0
  25. data/lib/eidolon/rgss2/rpg/actor.rb +31 -0
  26. data/lib/eidolon/rgss2/rpg/area.rb +15 -0
  27. data/lib/eidolon/rgss2/rpg/armor.rb +24 -0
  28. data/lib/eidolon/rgss2/rpg/base_item.rb +14 -0
  29. data/lib/eidolon/rgss2/rpg/bgm.rb +11 -0
  30. data/lib/eidolon/rgss2/rpg/bgs.rb +11 -0
  31. data/lib/eidolon/rgss2/rpg/class.rb +19 -0
  32. data/lib/eidolon/rgss2/rpg/class/learning.rb +15 -0
  33. data/lib/eidolon/rgss2/rpg/enemy.rb +31 -0
  34. data/lib/eidolon/rgss2/rpg/enemy/action.rb +20 -0
  35. data/lib/eidolon/rgss2/rpg/enemy/drop_item.rb +18 -0
  36. data/lib/eidolon/rgss2/rpg/item.rb +19 -0
  37. data/lib/eidolon/rgss2/rpg/me.rb +11 -0
  38. data/lib/eidolon/rgss2/rpg/se.rb +11 -0
  39. data/lib/eidolon/rgss2/rpg/skill.rb +15 -0
  40. data/lib/eidolon/rgss2/rpg/state.rb +33 -0
  41. data/lib/eidolon/rgss2/rpg/system.rb +33 -0
  42. data/lib/eidolon/rgss2/rpg/system/terms.rb +46 -0
  43. data/lib/eidolon/rgss2/rpg/system/test_battler.rb +20 -0
  44. data/lib/eidolon/rgss2/rpg/system/vehicle.rb +19 -0
  45. data/lib/eidolon/rgss2/rpg/troop.rb +13 -0
  46. data/lib/eidolon/rgss2/rpg/usable_item.rb +27 -0
  47. data/lib/eidolon/rgss2/rpg/weapon.rb +24 -0
  48. data/lib/eidolon/rgss3.rb +2 -0
  49. data/lib/eidolon/rgss3/loader.rb +44 -0
  50. data/lib/eidolon/rgss3/rpg.rb +31 -0
  51. data/lib/eidolon/rgss3/rpg/actor.rb +20 -0
  52. data/lib/eidolon/rgss3/rpg/armor.rb +12 -0
  53. data/lib/eidolon/rgss3/rpg/base_item.rb +18 -0
  54. data/lib/eidolon/rgss3/rpg/base_item/feature.rb +16 -0
  55. data/lib/eidolon/rgss3/rpg/bgm.rb +12 -0
  56. data/lib/eidolon/rgss3/rpg/bgs.rb +12 -0
  57. data/lib/eidolon/rgss3/rpg/class.rb +14 -0
  58. data/lib/eidolon/rgss3/rpg/class/learning.rb +16 -0
  59. data/lib/eidolon/rgss3/rpg/enemy.rb +18 -0
  60. data/lib/eidolon/rgss3/rpg/enemy/action.rb +18 -0
  61. data/lib/eidolon/rgss3/rpg/enemy/drop_item.rb +16 -0
  62. data/lib/eidolon/rgss3/rpg/equip_item.rb +14 -0
  63. data/lib/eidolon/rgss3/rpg/item.rb +14 -0
  64. data/lib/eidolon/rgss3/rpg/map/encounter.rb +16 -0
  65. data/lib/eidolon/rgss3/rpg/me.rb +11 -0
  66. data/lib/eidolon/rgss3/rpg/se.rb +11 -0
  67. data/lib/eidolon/rgss3/rpg/skill.rb +18 -0
  68. data/lib/eidolon/rgss3/rpg/state.rb +26 -0
  69. data/lib/eidolon/rgss3/rpg/system.rb +50 -0
  70. data/lib/eidolon/rgss3/rpg/system/terms.rb +17 -0
  71. data/lib/eidolon/rgss3/rpg/system/test_battler.rb +16 -0
  72. data/lib/eidolon/rgss3/rpg/system/vehicle.rb +19 -0
  73. data/lib/eidolon/rgss3/rpg/tileset.rb +15 -0
  74. data/lib/eidolon/rgss3/rpg/usable_item.rb +21 -0
  75. data/lib/eidolon/rgss3/rpg/usable_item/damage.rb +18 -0
  76. data/lib/eidolon/rgss3/rpg/usable_item/effect.rb +17 -0
  77. data/lib/eidolon/rgss3/rpg/weapon.rb +13 -0
  78. data/lib/eidolon/rgssx.rb +4 -0
  79. data/lib/eidolon/rgssx/color.rb +27 -0
  80. data/lib/eidolon/rgssx/loader.rb +27 -0
  81. data/lib/eidolon/rgssx/rpg.rb +36 -0
  82. data/lib/eidolon/rgssx/rpg/animation.rb +21 -0
  83. data/lib/eidolon/rgssx/rpg/animation/frame.rb +15 -0
  84. data/lib/eidolon/rgssx/rpg/animation/timing.rb +19 -0
  85. data/lib/eidolon/rgssx/rpg/audio_file.rb +13 -0
  86. data/lib/eidolon/rgssx/rpg/common_event.rb +14 -0
  87. data/lib/eidolon/rgssx/rpg/event.rb +14 -0
  88. data/lib/eidolon/rgssx/rpg/event/page.rb +27 -0
  89. data/lib/eidolon/rgssx/rpg/event/page/condition.rb +29 -0
  90. data/lib/eidolon/rgssx/rpg/event/page/graphic.rb +24 -0
  91. data/lib/eidolon/rgssx/rpg/event_command.rb +12 -0
  92. data/lib/eidolon/rgssx/rpg/map.rb +33 -0
  93. data/lib/eidolon/rgssx/rpg/map_info.rb +15 -0
  94. data/lib/eidolon/rgssx/rpg/move_command.rb +11 -0
  95. data/lib/eidolon/rgssx/rpg/move_route.rb +13 -0
  96. data/lib/eidolon/rgssx/rpg/troop.rb +13 -0
  97. data/lib/eidolon/rgssx/rpg/troop/member.rb +18 -0
  98. data/lib/eidolon/rgssx/rpg/troop/page.rb +16 -0
  99. data/lib/eidolon/rgssx/rpg/troop/page/condition.rb +28 -0
  100. data/lib/eidolon/rgssx/table.rb +24 -0
  101. data/lib/eidolon/rgssx/tone.rb +27 -0
  102. data/lib/eidolon/version.rb +10 -0
  103. metadata +189 -0
@@ -0,0 +1,18 @@
1
+ require 'eidolon/rgssx/rpg/troop'
2
+
3
+ module RPG
4
+ class Troop
5
+ # == RGSSx
6
+ # This class is present and relatively consistent across all RGSS versions.
7
+ #
8
+ # == Member
9
+ # The data class for enemy troop members.
10
+ class Member
11
+ attr_accessor :enemy_id
12
+ attr_accessor :hidden
13
+ attr_accessor :immortal
14
+ attr_accessor :x
15
+ attr_accessor :y
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ require 'eidolon/rgssx/rpg/troop'
2
+
3
+ module RPG
4
+ class Troop
5
+ # == RGSSx
6
+ # This class is present and consistent across all RGSS versions.
7
+ #
8
+ # == Page
9
+ # The data class for a battle event page.
10
+ class Page
11
+ attr_accessor :condition
12
+ attr_accessor :span
13
+ attr_accessor :list
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,28 @@
1
+ require 'eidolon/rgssx/rpg/troop/page'
2
+
3
+ module RPG
4
+ class Troop
5
+ class Page
6
+ # == RGSSx
7
+ # This class is present and relatively consistent across all RGSS
8
+ # versions.
9
+ #
10
+ # == Condition
11
+ # The data class for battle event page conditions.
12
+ class Condition
13
+ attr_accessor :actor_hp
14
+ attr_accessor :actor_id
15
+ attr_accessor :actor_valid
16
+ attr_accessor :enemy_hp
17
+ attr_accessor :enemy_index
18
+ attr_accessor :enemy_valid
19
+ attr_accessor :switch_id
20
+ attr_accessor :switch_valid
21
+ attr_accessor :turn_a
22
+ attr_accessor :turn_b
23
+ attr_accessor :turn_ending
24
+ attr_accessor :turn_valid
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # == RGSSx
2
+ # This class is present and consistent across all RGSS versions.
3
+ #
4
+ # == Table
5
+ # The multidimensional array class. Each element is an integer of 2 signed
6
+ # bytes ranging from -32,768 to 32,767.
7
+ class Table
8
+ # Size of the Table's X dimension.
9
+ attr_reader :xsize
10
+
11
+ # Size of the Table's Y dimension.
12
+ attr_reader :ysize
13
+
14
+ # Size of the Table's Z dimension.
15
+ attr_reader :zsize
16
+
17
+ private
18
+ def self._load(array)
19
+ self.new.instance_eval do
20
+ @size, @xsize, @ysize, @zsize, _, *@data = array.unpack('LLLLLS*')
21
+ self
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,27 @@
1
+ # == RGSSx
2
+ # This class is present and consistent across all RGSS versions.
3
+ #
4
+ # == Tone
5
+ # The color tone class. Each component is handled with a floating-point value
6
+ # (Float).
7
+ class Tone
8
+ # The red balance adjustment value (-255 to 255).
9
+ attr_accessor :red
10
+
11
+ # The green balance adjustment value (-255 to 255).
12
+ attr_accessor :green
13
+
14
+ # The blue balance adjustment value (-255 to 255).
15
+ attr_accessor :blue
16
+
17
+ # The gray balance adjustment value (-255 to 255).
18
+ attr_accessor :gray
19
+
20
+ private
21
+ def self._load(array)
22
+ self.new.instance_eval do
23
+ @red, @green, @blue, @gray = array.unpack('d4')
24
+ self
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,10 @@
1
+ module Eidolon
2
+ # Hash of the authors of Eidolon. Keys are author names, values are their
3
+ # e-mail addresses.
4
+ AUTHORS = {
5
+ 'Solistra' => 'solistra@gmx.com',
6
+ }
7
+
8
+ # Semantic version of the Eidolon RGSSx builder.
9
+ VERSION = '0.1.3'
10
+ end
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eidolon
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ platform: ruby
6
+ authors:
7
+ - Solistra
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: yard
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '0.8'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.8'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '10.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '10.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '2.14'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '2.14'
55
+ description: Eidolon is a minimalistic recreation of the RGSSx hidden classes and
56
+ data structures required to load RPG Maker data directly into pure Ruby.
57
+ email:
58
+ - solistra@gmx.com
59
+ executables: []
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - LICENSE
64
+ - README.md
65
+ - lib/eidolon.rb
66
+ - lib/eidolon/rgss.rb
67
+ - lib/eidolon/rgss/loader.rb
68
+ - lib/eidolon/rgss/rpg.rb
69
+ - lib/eidolon/rgss/rpg/actor.rb
70
+ - lib/eidolon/rgss/rpg/armor.rb
71
+ - lib/eidolon/rgss/rpg/class.rb
72
+ - lib/eidolon/rgss/rpg/class/learning.rb
73
+ - lib/eidolon/rgss/rpg/enemy.rb
74
+ - lib/eidolon/rgss/rpg/enemy/action.rb
75
+ - lib/eidolon/rgss/rpg/item.rb
76
+ - lib/eidolon/rgss/rpg/skill.rb
77
+ - lib/eidolon/rgss/rpg/state.rb
78
+ - lib/eidolon/rgss/rpg/system.rb
79
+ - lib/eidolon/rgss/rpg/system/test_battler.rb
80
+ - lib/eidolon/rgss/rpg/system/words.rb
81
+ - lib/eidolon/rgss/rpg/tileset.rb
82
+ - lib/eidolon/rgss/rpg/weapon.rb
83
+ - lib/eidolon/rgss2.rb
84
+ - lib/eidolon/rgss2/loader.rb
85
+ - lib/eidolon/rgss2/rpg.rb
86
+ - lib/eidolon/rgss2/rpg/actor.rb
87
+ - lib/eidolon/rgss2/rpg/area.rb
88
+ - lib/eidolon/rgss2/rpg/armor.rb
89
+ - lib/eidolon/rgss2/rpg/base_item.rb
90
+ - lib/eidolon/rgss2/rpg/bgm.rb
91
+ - lib/eidolon/rgss2/rpg/bgs.rb
92
+ - lib/eidolon/rgss2/rpg/class.rb
93
+ - lib/eidolon/rgss2/rpg/class/learning.rb
94
+ - lib/eidolon/rgss2/rpg/enemy.rb
95
+ - lib/eidolon/rgss2/rpg/enemy/action.rb
96
+ - lib/eidolon/rgss2/rpg/enemy/drop_item.rb
97
+ - lib/eidolon/rgss2/rpg/item.rb
98
+ - lib/eidolon/rgss2/rpg/me.rb
99
+ - lib/eidolon/rgss2/rpg/se.rb
100
+ - lib/eidolon/rgss2/rpg/skill.rb
101
+ - lib/eidolon/rgss2/rpg/state.rb
102
+ - lib/eidolon/rgss2/rpg/system.rb
103
+ - lib/eidolon/rgss2/rpg/system/terms.rb
104
+ - lib/eidolon/rgss2/rpg/system/test_battler.rb
105
+ - lib/eidolon/rgss2/rpg/system/vehicle.rb
106
+ - lib/eidolon/rgss2/rpg/troop.rb
107
+ - lib/eidolon/rgss2/rpg/usable_item.rb
108
+ - lib/eidolon/rgss2/rpg/weapon.rb
109
+ - lib/eidolon/rgss3.rb
110
+ - lib/eidolon/rgss3/loader.rb
111
+ - lib/eidolon/rgss3/rpg.rb
112
+ - lib/eidolon/rgss3/rpg/actor.rb
113
+ - lib/eidolon/rgss3/rpg/armor.rb
114
+ - lib/eidolon/rgss3/rpg/base_item.rb
115
+ - lib/eidolon/rgss3/rpg/base_item/feature.rb
116
+ - lib/eidolon/rgss3/rpg/bgm.rb
117
+ - lib/eidolon/rgss3/rpg/bgs.rb
118
+ - lib/eidolon/rgss3/rpg/class.rb
119
+ - lib/eidolon/rgss3/rpg/class/learning.rb
120
+ - lib/eidolon/rgss3/rpg/enemy.rb
121
+ - lib/eidolon/rgss3/rpg/enemy/action.rb
122
+ - lib/eidolon/rgss3/rpg/enemy/drop_item.rb
123
+ - lib/eidolon/rgss3/rpg/equip_item.rb
124
+ - lib/eidolon/rgss3/rpg/item.rb
125
+ - lib/eidolon/rgss3/rpg/map/encounter.rb
126
+ - lib/eidolon/rgss3/rpg/me.rb
127
+ - lib/eidolon/rgss3/rpg/se.rb
128
+ - lib/eidolon/rgss3/rpg/skill.rb
129
+ - lib/eidolon/rgss3/rpg/state.rb
130
+ - lib/eidolon/rgss3/rpg/system.rb
131
+ - lib/eidolon/rgss3/rpg/system/terms.rb
132
+ - lib/eidolon/rgss3/rpg/system/test_battler.rb
133
+ - lib/eidolon/rgss3/rpg/system/vehicle.rb
134
+ - lib/eidolon/rgss3/rpg/tileset.rb
135
+ - lib/eidolon/rgss3/rpg/usable_item.rb
136
+ - lib/eidolon/rgss3/rpg/usable_item/damage.rb
137
+ - lib/eidolon/rgss3/rpg/usable_item/effect.rb
138
+ - lib/eidolon/rgss3/rpg/weapon.rb
139
+ - lib/eidolon/rgssx.rb
140
+ - lib/eidolon/rgssx/color.rb
141
+ - lib/eidolon/rgssx/loader.rb
142
+ - lib/eidolon/rgssx/rpg.rb
143
+ - lib/eidolon/rgssx/rpg/animation.rb
144
+ - lib/eidolon/rgssx/rpg/animation/frame.rb
145
+ - lib/eidolon/rgssx/rpg/animation/timing.rb
146
+ - lib/eidolon/rgssx/rpg/audio_file.rb
147
+ - lib/eidolon/rgssx/rpg/common_event.rb
148
+ - lib/eidolon/rgssx/rpg/event.rb
149
+ - lib/eidolon/rgssx/rpg/event/page.rb
150
+ - lib/eidolon/rgssx/rpg/event/page/condition.rb
151
+ - lib/eidolon/rgssx/rpg/event/page/graphic.rb
152
+ - lib/eidolon/rgssx/rpg/event_command.rb
153
+ - lib/eidolon/rgssx/rpg/map.rb
154
+ - lib/eidolon/rgssx/rpg/map_info.rb
155
+ - lib/eidolon/rgssx/rpg/move_command.rb
156
+ - lib/eidolon/rgssx/rpg/move_route.rb
157
+ - lib/eidolon/rgssx/rpg/troop.rb
158
+ - lib/eidolon/rgssx/rpg/troop/member.rb
159
+ - lib/eidolon/rgssx/rpg/troop/page.rb
160
+ - lib/eidolon/rgssx/rpg/troop/page/condition.rb
161
+ - lib/eidolon/rgssx/table.rb
162
+ - lib/eidolon/rgssx/tone.rb
163
+ - lib/eidolon/version.rb
164
+ homepage: https://github.com/sesvxace/eidolon
165
+ licenses:
166
+ - MIT
167
+ metadata: {}
168
+ post_install_message:
169
+ rdoc_options: []
170
+ require_paths:
171
+ - lib
172
+ required_ruby_version: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ requirements: []
183
+ rubyforge_project:
184
+ rubygems_version: 2.2.2
185
+ signing_key:
186
+ specification_version: 4
187
+ summary: Allows for the loading of RGSSx data into pure Ruby.
188
+ test_files: []
189
+ has_rdoc: