tyrano_dsl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.travis.yml +3 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +290 -0
  8. data/Rakefile +10 -0
  9. data/bin/setup +8 -0
  10. data/bin/tyrano_dsl.rb +21 -0
  11. data/lib/tyrano_dsl/elements/background.rb +31 -0
  12. data/lib/tyrano_dsl/elements/character.rb +49 -0
  13. data/lib/tyrano_dsl/elements/elements_module.rb +7 -0
  14. data/lib/tyrano_dsl/elements/jump_target.rb +18 -0
  15. data/lib/tyrano_dsl/elements/label.rb +19 -0
  16. data/lib/tyrano_dsl/elements/scene.rb +21 -0
  17. data/lib/tyrano_dsl/elements/stance.rb +26 -0
  18. data/lib/tyrano_dsl/elements/title_screen.rb +16 -0
  19. data/lib/tyrano_dsl/elements/variable.rb +22 -0
  20. data/lib/tyrano_dsl/elements/world.rb +62 -0
  21. data/lib/tyrano_dsl/elements_writers/background_writer.rb +30 -0
  22. data/lib/tyrano_dsl/elements_writers/character_writer.rb +32 -0
  23. data/lib/tyrano_dsl/elements_writers/characters_writer.rb +43 -0
  24. data/lib/tyrano_dsl/elements_writers/elements_writers_module.rb +27 -0
  25. data/lib/tyrano_dsl/elements_writers/scene_writer.rb +30 -0
  26. data/lib/tyrano_dsl/elements_writers/title_screen_writer.rb +87 -0
  27. data/lib/tyrano_dsl/elements_writers/variables_writer.rb +30 -0
  28. data/lib/tyrano_dsl/file_actions/clear_directory.rb +34 -0
  29. data/lib/tyrano_dsl/file_actions/create_file.rb +33 -0
  30. data/lib/tyrano_dsl/file_actions/file_copy.rb +36 -0
  31. data/lib/tyrano_dsl/file_actions/files_actions_module.rb +28 -0
  32. data/lib/tyrano_dsl/file_actions/json_patch.rb +47 -0
  33. data/lib/tyrano_dsl/main.rb +18 -0
  34. data/lib/tyrano_dsl/parsed_word.rb +22 -0
  35. data/lib/tyrano_dsl/parser.rb +58 -0
  36. data/lib/tyrano_dsl/parsing_context.rb +18 -0
  37. data/lib/tyrano_dsl/parsing_words/ask_question.rb +32 -0
  38. data/lib/tyrano_dsl/parsing_words/conditional_jump.rb +42 -0
  39. data/lib/tyrano_dsl/parsing_words/declare_background.rb +32 -0
  40. data/lib/tyrano_dsl/parsing_words/declare_character.rb +38 -0
  41. data/lib/tyrano_dsl/parsing_words/declare_label.rb +20 -0
  42. data/lib/tyrano_dsl/parsing_words/declare_variable.rb +30 -0
  43. data/lib/tyrano_dsl/parsing_words/display_text.rb +22 -0
  44. data/lib/tyrano_dsl/parsing_words/hide_character.rb +20 -0
  45. data/lib/tyrano_dsl/parsing_words/hide_message_window.rb +16 -0
  46. data/lib/tyrano_dsl/parsing_words/include_file.rb +26 -0
  47. data/lib/tyrano_dsl/parsing_words/jump.rb +22 -0
  48. data/lib/tyrano_dsl/parsing_words/parsing_words_module.rb +72 -0
  49. data/lib/tyrano_dsl/parsing_words/set_background.rb +21 -0
  50. data/lib/tyrano_dsl/parsing_words/set_character_stance.rb +23 -0
  51. data/lib/tyrano_dsl/parsing_words/set_title_screen_background.rb +25 -0
  52. data/lib/tyrano_dsl/parsing_words/show_character.rb +26 -0
  53. data/lib/tyrano_dsl/parsing_words/show_message_window.rb +16 -0
  54. data/lib/tyrano_dsl/parsing_words/start_scene.rb +30 -0
  55. data/lib/tyrano_dsl/parsing_words/update_variable.rb +37 -0
  56. data/lib/tyrano_dsl/tyrano_dsl.rb +3 -0
  57. data/lib/tyrano_dsl/tyrano_exception.rb +6 -0
  58. data/lib/tyrano_dsl/vocabulary.rb +84 -0
  59. data/lib/tyrano_dsl/writer.rb +114 -0
  60. data/lib/tyrano_dsl/writing_context.rb +123 -0
  61. data/lib/tyrano_dsl/writing_words/ask_question.rb +28 -0
  62. data/lib/tyrano_dsl/writing_words/conditional_jump.rb +37 -0
  63. data/lib/tyrano_dsl/writing_words/declare_background.rb +5 -0
  64. data/lib/tyrano_dsl/writing_words/declare_character.rb +5 -0
  65. data/lib/tyrano_dsl/writing_words/declare_label.rb +18 -0
  66. data/lib/tyrano_dsl/writing_words/declare_variable.rb +5 -0
  67. data/lib/tyrano_dsl/writing_words/display_text.rb +16 -0
  68. data/lib/tyrano_dsl/writing_words/hide_character.rb +13 -0
  69. data/lib/tyrano_dsl/writing_words/hide_message_window.rb +12 -0
  70. data/lib/tyrano_dsl/writing_words/include_file.rb +5 -0
  71. data/lib/tyrano_dsl/writing_words/jump.rb +18 -0
  72. data/lib/tyrano_dsl/writing_words/nop.rb +8 -0
  73. data/lib/tyrano_dsl/writing_words/set_background.rb +18 -0
  74. data/lib/tyrano_dsl/writing_words/set_character_stance.rb +20 -0
  75. data/lib/tyrano_dsl/writing_words/set_title_screen_background.rb +4 -0
  76. data/lib/tyrano_dsl/writing_words/show_character.rb +31 -0
  77. data/lib/tyrano_dsl/writing_words/show_message_window.rb +12 -0
  78. data/lib/tyrano_dsl/writing_words/start_scene.rb +9 -0
  79. data/lib/tyrano_dsl/writing_words/update_variable.rb +28 -0
  80. data/lib/tyrano_dsl/writing_words/writing_words_module.rb +43 -0
  81. data/tyrano_dsl.gemspec +37 -0
  82. metadata +210 -0
@@ -0,0 +1,37 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::ConditionalJump
4
+
5
+ include TyranoDsl::WritingWords::WritingWordsModule
6
+
7
+ OPERATORS_RUBY_TO_TYRANO = {
8
+ '<' => '<',
9
+ '>' => '>',
10
+ '==' => '=',
11
+ '!=' => '<>',
12
+ }
13
+
14
+ def run(writing_context, world, word_location, parameters)
15
+ operator = parameters[:operator]
16
+ variable = parameters[:variable]
17
+ value = parameters[:value]
18
+ scene_name = parameters[:scene_name]
19
+ label_name = parameters[:label_name]
20
+
21
+ variable_target = world.variables[variable].target_name
22
+ if value.is_a?(String) || value.is_a?(Symbol)
23
+ value_target = "f.#{world.variables[value].target_name}"
24
+ else
25
+ value_target = value
26
+ end
27
+ target_scene = fetch_scene(world, word_location, scene_name)
28
+ label = label_name ? world.labels[label_name].target_name : 'cond'
29
+ tyrano_operator = OPERATORS_RUBY_TO_TYRANO[operator]
30
+
31
+ writing_context.append_content(
32
+ word_location,
33
+ "[jump storage=\"#{target_scene.target_name}\.ks\" target=\"#{label}\" cond=\"f.#{variable_target}#{tyrano_operator}#{value_target}\"]"
34
+ )
35
+ end
36
+
37
+ end
@@ -0,0 +1,5 @@
1
+ require_relative 'nop'
2
+
3
+ class TyranoDsl::WritingWords::DeclareBackground < TyranoDsl::WritingWords::Nop
4
+
5
+ end
@@ -0,0 +1,5 @@
1
+ require_relative 'nop'
2
+
3
+ class TyranoDsl::WritingWords::DeclareCharacter < TyranoDsl::WritingWords::Nop
4
+
5
+ end
@@ -0,0 +1,18 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::DeclareLabel
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ label_name = parameters[:label_name]
7
+ label = world.labels[label_name]
8
+ writing_context.append_content(
9
+ word_location,
10
+ "*#{label.target_name}"
11
+ )
12
+ writing_context.add_label(
13
+ word_location,
14
+ label_name
15
+ )
16
+ end
17
+
18
+ end
@@ -0,0 +1,5 @@
1
+ require_relative 'nop'
2
+
3
+ class TyranoDsl::WritingWords::DeclareVariable < TyranoDsl::WritingWords::Nop
4
+
5
+ end
@@ -0,0 +1,16 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::DisplayText
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ character_name = parameters[:character_name]
7
+ text = parameters[:text]
8
+ character_part = character_name ? "##{character_name}\n" : ''
9
+ writing_context.append_content(
10
+ word_location,
11
+ "[tb_start_text mode=1]\n#{character_part}#{text}\n[_tb_end_text]\n"
12
+ )
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,13 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::HideCharacter
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ character = world.characters[parameters[:name]]
7
+ writing_context.append_content(
8
+ word_location,
9
+ "[chara_hide name=\"#{character.name}\" time=\"1000\" wait=\"true\"]"
10
+ )
11
+ end
12
+
13
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::HideMessageWindow
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ writing_context.append_content(
7
+ word_location,
8
+ '[tb_hide_message_window]'
9
+ )
10
+ end
11
+
12
+ end
@@ -0,0 +1,5 @@
1
+ require_relative 'nop'
2
+
3
+ class TyranoDsl::WritingWords::IncludeFile < TyranoDsl::WritingWords::Nop
4
+
5
+ end
@@ -0,0 +1,18 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::Jump
4
+
5
+ include TyranoDsl::WritingWords::WritingWordsModule
6
+
7
+ def run(writing_context, world, word_location, parameters)
8
+ scene_name = parameters[:scene_name]
9
+ label_name = parameters[:label_name]
10
+ target_scene = fetch_scene(world, word_location, scene_name)
11
+ label = label_name ? world.labels[label_name].target_name : ''
12
+ writing_context.append_content(
13
+ word_location,
14
+ "[jump storage=\"#{target_scene.target_name}\.ks\" target=\"#{label}\"]"
15
+ )
16
+ end
17
+
18
+ end
@@ -0,0 +1,8 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::Nop
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ end
7
+
8
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../elements/background'
2
+ require_relative 'writing_words_module'
3
+
4
+ class TyranoDsl::WritingWords::SetBackground
5
+
6
+ def run(writing_context, world, word_location, parameters)
7
+ background = world.backgrounds[parameters[:name]]
8
+ writing_context.append_content(
9
+ word_location,
10
+ "[bg storage=\"#{background.target_short_file_name}\" time=\"1000\"]"
11
+ )
12
+ writing_context.add_asset_loading(
13
+ word_location,
14
+ background.target_long_file_name
15
+ )
16
+ end
17
+
18
+ end
@@ -0,0 +1,20 @@
1
+ require_relative '../elements/character'
2
+ require_relative 'writing_words_module'
3
+
4
+ class TyranoDsl::WritingWords::SetCharacterStance
5
+
6
+ def run(writing_context, world, word_location, parameters)
7
+ character = world.characters[parameters[:name]]
8
+ character_stance = parameters[:stance]
9
+
10
+ writing_context.add_asset_loading(
11
+ word_location,
12
+ character.stances[character_stance].long_target_file_name
13
+ )
14
+ writing_context.append_content(
15
+ word_location,
16
+ "[chara_mod name=\"#{character.name}\" cross=\"true\" storage=\"chara/#{character.stances[character_stance].short_target_file_name}\"]"
17
+ )
18
+ end
19
+
20
+ end
@@ -0,0 +1,4 @@
1
+ require_relative 'nop'
2
+
3
+ class TyranoDsl::WritingWords::SetTitleScreenBackground < TyranoDsl::WritingWords::Nop
4
+ end
@@ -0,0 +1,31 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::ShowCharacter
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ character = world.characters[parameters[:name]]
7
+ character_stance = parameters[:stance]
8
+ left = parameters[:left]
9
+ top = parameters[:top]
10
+ # chara_show display the default stance, so we display the real stance after is it's not the default
11
+ writing_context.add_asset_loading(
12
+ word_location,
13
+ character.stances[character_stance].long_target_file_name
14
+ )
15
+ writing_context.append_content(
16
+ word_location,
17
+ "[chara_show name=\"#{character.name}\" time=\"1000\" wait=\"true\" left=\"#{left}\" top=\"#{top}\" width=\"\" height=\"\" reflect=\"false\"]"
18
+ )
19
+ unless character_stance == :default
20
+ writing_context.add_asset_loading(
21
+ word_location,
22
+ character.default_stance.long_target_file_name
23
+ )
24
+ writing_context.append_content(
25
+ word_location,
26
+ "[chara_mod name=\"#{character.name}\" cross=\"true\" storage=\"#{character.stances[character_stance].short_target_file_name}\"]"
27
+ )
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::ShowMessageWindow
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ writing_context.append_content(
7
+ word_location,
8
+ '[tb_show_message_window]'
9
+ )
10
+ end
11
+
12
+ end
@@ -0,0 +1,9 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::StartScene
4
+
5
+ def run(writing_context, world, word_location, parameters)
6
+ writing_context.init_new_scene(parameters[:name])
7
+ end
8
+
9
+ end
@@ -0,0 +1,28 @@
1
+ require_relative 'writing_words_module'
2
+
3
+ class TyranoDsl::WritingWords::UpdateVariable
4
+
5
+ include TyranoDsl::WritingWords::WritingWordsModule
6
+
7
+ def run(writing_context, world, word_location, parameters)
8
+ operator = parameters[:operator]
9
+ variable = parameters[:variable]
10
+ value = parameters[:value]
11
+ variable_target = world.variables[variable].target_name
12
+ if value.is_a?(String) || value.is_a?(Symbol)
13
+ val = world.variables[value].target_name
14
+ value_target = "f.#{val}"
15
+ op = 'h'
16
+ else
17
+ val = value
18
+ value_target = value
19
+ op = 't'
20
+ end
21
+
22
+ writing_context.append_content(
23
+ word_location,
24
+ "[tb_eval exp=\"f.#{variable_target}#{operator}#{value_target}\" name=\"#{variable_target}\" cmd=\"#{operator}\" op=\"#{op}\" val=\"#{val}\" val_2=\"undefined\"]"
25
+ )
26
+ end
27
+
28
+ end
@@ -0,0 +1,43 @@
1
+ require 'cgi'
2
+
3
+ module TyranoDsl
4
+ module WritingWords
5
+
6
+ # A module to help writing writing word
7
+ module WritingWordsModule
8
+
9
+ # Get a scene from its name
10
+ # @param [TyranoDsl::Elements::World] world
11
+ # @param [Array<String>] word_location
12
+ # @param [String] scene_name
13
+ # @return [TyranoDsl::Elements::Scene]
14
+ # @raise [TyranoDsl::TyranoException]
15
+ def fetch_scene(world, word_location, scene_name)
16
+ target_scene = world.scenes[scene_name]
17
+ unless target_scene
18
+ raise_unknown('scene', scene_name, world.scenes.keys, word_location)
19
+ end
20
+ target_scene
21
+ end
22
+
23
+ # HTML escape text
24
+ # @param [String] text
25
+ # @return [String]
26
+ def h(text)
27
+ CGI::escapeHTML(text)
28
+ end
29
+
30
+ # @param [String] type
31
+ # @param [String] unknown_name
32
+ # @param [Array<String>] current_elements
33
+ # @return [void]
34
+ # @raise [TyranoDsl::TyranoException]
35
+ def raise_unknown(type, unknown_name, current_elements, word_location)
36
+ exception = TyranoDsl::TyranoException.new("Unknown #{type} [#{unknown_name}], currently #{current_elements.length} defined: #{current_elements.sort.collect {|e| "[#{e}]"}.join(', ')}")
37
+ exception.set_backtrace word_location
38
+ raise exception
39
+ end
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,37 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'tyrano_dsl/tyrano_dsl'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'tyrano_dsl'
7
+ spec.version = TyranoDsl::VERSION
8
+ spec.authors = ['Julien Kirch']
9
+
10
+ spec.summary = 'TyranoBuilder DSL'
11
+ spec.description = 'A DSL to write visual novels games in Ruby using TyranoBuilder'
12
+ spec.homepage = 'https://github.com/archiloque/tyrano_dsl'
13
+ spec.license = 'MIT'
14
+
15
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
16
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
17
+ if spec.respond_to?(:metadata)
18
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
19
+ else
20
+ raise 'RubyGems 2.0 or newer is required to protect against ' \
21
+ 'public gem pushes.'
22
+ end
23
+
24
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
25
+ f.match(%r{^(test|spec|features)/})
26
+ end
27
+ spec.bindir = 'bin'
28
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
29
+ spec.require_paths = ['lib']
30
+
31
+ spec.add_development_dependency 'bundler', '~> 1.14'
32
+ spec.add_development_dependency 'minitest', '~> 5.10'
33
+ spec.add_development_dependency 'rake', '~> 12.3'
34
+ spec.add_development_dependency 'redcarpet', '~> 3.4'
35
+ spec.add_development_dependency 'simplecov', '~> 0.15.1'
36
+ spec.add_development_dependency 'yard', '~> 0.9.12'
37
+ end
metadata ADDED
@@ -0,0 +1,210 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tyrano_dsl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Julien Kirch
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-12-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.14'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.10'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '12.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '12.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: redcarpet
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.15.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.15.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: yard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.9.12
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.9.12
97
+ description: A DSL to write visual novels games in Ruby using TyranoBuilder
98
+ email:
99
+ executables:
100
+ - setup
101
+ - tyrano_dsl.rb
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - ".gitignore"
106
+ - ".travis.yml"
107
+ - CODE_OF_CONDUCT.md
108
+ - Gemfile
109
+ - LICENSE.txt
110
+ - README.md
111
+ - Rakefile
112
+ - bin/setup
113
+ - bin/tyrano_dsl.rb
114
+ - lib/tyrano_dsl/elements/background.rb
115
+ - lib/tyrano_dsl/elements/character.rb
116
+ - lib/tyrano_dsl/elements/elements_module.rb
117
+ - lib/tyrano_dsl/elements/jump_target.rb
118
+ - lib/tyrano_dsl/elements/label.rb
119
+ - lib/tyrano_dsl/elements/scene.rb
120
+ - lib/tyrano_dsl/elements/stance.rb
121
+ - lib/tyrano_dsl/elements/title_screen.rb
122
+ - lib/tyrano_dsl/elements/variable.rb
123
+ - lib/tyrano_dsl/elements/world.rb
124
+ - lib/tyrano_dsl/elements_writers/background_writer.rb
125
+ - lib/tyrano_dsl/elements_writers/character_writer.rb
126
+ - lib/tyrano_dsl/elements_writers/characters_writer.rb
127
+ - lib/tyrano_dsl/elements_writers/elements_writers_module.rb
128
+ - lib/tyrano_dsl/elements_writers/scene_writer.rb
129
+ - lib/tyrano_dsl/elements_writers/title_screen_writer.rb
130
+ - lib/tyrano_dsl/elements_writers/variables_writer.rb
131
+ - lib/tyrano_dsl/file_actions/clear_directory.rb
132
+ - lib/tyrano_dsl/file_actions/create_file.rb
133
+ - lib/tyrano_dsl/file_actions/file_copy.rb
134
+ - lib/tyrano_dsl/file_actions/files_actions_module.rb
135
+ - lib/tyrano_dsl/file_actions/json_patch.rb
136
+ - lib/tyrano_dsl/main.rb
137
+ - lib/tyrano_dsl/parsed_word.rb
138
+ - lib/tyrano_dsl/parser.rb
139
+ - lib/tyrano_dsl/parsing_context.rb
140
+ - lib/tyrano_dsl/parsing_words/ask_question.rb
141
+ - lib/tyrano_dsl/parsing_words/conditional_jump.rb
142
+ - lib/tyrano_dsl/parsing_words/declare_background.rb
143
+ - lib/tyrano_dsl/parsing_words/declare_character.rb
144
+ - lib/tyrano_dsl/parsing_words/declare_label.rb
145
+ - lib/tyrano_dsl/parsing_words/declare_variable.rb
146
+ - lib/tyrano_dsl/parsing_words/display_text.rb
147
+ - lib/tyrano_dsl/parsing_words/hide_character.rb
148
+ - lib/tyrano_dsl/parsing_words/hide_message_window.rb
149
+ - lib/tyrano_dsl/parsing_words/include_file.rb
150
+ - lib/tyrano_dsl/parsing_words/jump.rb
151
+ - lib/tyrano_dsl/parsing_words/parsing_words_module.rb
152
+ - lib/tyrano_dsl/parsing_words/set_background.rb
153
+ - lib/tyrano_dsl/parsing_words/set_character_stance.rb
154
+ - lib/tyrano_dsl/parsing_words/set_title_screen_background.rb
155
+ - lib/tyrano_dsl/parsing_words/show_character.rb
156
+ - lib/tyrano_dsl/parsing_words/show_message_window.rb
157
+ - lib/tyrano_dsl/parsing_words/start_scene.rb
158
+ - lib/tyrano_dsl/parsing_words/update_variable.rb
159
+ - lib/tyrano_dsl/tyrano_dsl.rb
160
+ - lib/tyrano_dsl/tyrano_exception.rb
161
+ - lib/tyrano_dsl/vocabulary.rb
162
+ - lib/tyrano_dsl/writer.rb
163
+ - lib/tyrano_dsl/writing_context.rb
164
+ - lib/tyrano_dsl/writing_words/ask_question.rb
165
+ - lib/tyrano_dsl/writing_words/conditional_jump.rb
166
+ - lib/tyrano_dsl/writing_words/declare_background.rb
167
+ - lib/tyrano_dsl/writing_words/declare_character.rb
168
+ - lib/tyrano_dsl/writing_words/declare_label.rb
169
+ - lib/tyrano_dsl/writing_words/declare_variable.rb
170
+ - lib/tyrano_dsl/writing_words/display_text.rb
171
+ - lib/tyrano_dsl/writing_words/hide_character.rb
172
+ - lib/tyrano_dsl/writing_words/hide_message_window.rb
173
+ - lib/tyrano_dsl/writing_words/include_file.rb
174
+ - lib/tyrano_dsl/writing_words/jump.rb
175
+ - lib/tyrano_dsl/writing_words/nop.rb
176
+ - lib/tyrano_dsl/writing_words/set_background.rb
177
+ - lib/tyrano_dsl/writing_words/set_character_stance.rb
178
+ - lib/tyrano_dsl/writing_words/set_title_screen_background.rb
179
+ - lib/tyrano_dsl/writing_words/show_character.rb
180
+ - lib/tyrano_dsl/writing_words/show_message_window.rb
181
+ - lib/tyrano_dsl/writing_words/start_scene.rb
182
+ - lib/tyrano_dsl/writing_words/update_variable.rb
183
+ - lib/tyrano_dsl/writing_words/writing_words_module.rb
184
+ - tyrano_dsl.gemspec
185
+ homepage: https://github.com/archiloque/tyrano_dsl
186
+ licenses:
187
+ - MIT
188
+ metadata:
189
+ allowed_push_host: https://rubygems.org
190
+ post_install_message:
191
+ rdoc_options: []
192
+ require_paths:
193
+ - lib
194
+ required_ruby_version: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ requirements: []
205
+ rubyforge_project:
206
+ rubygems_version: 2.5.2
207
+ signing_key:
208
+ specification_version: 4
209
+ summary: TyranoBuilder DSL
210
+ test_files: []