reight 0.1.7 → 0.1.9

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.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-06 00:00:00.000000000 Z
11
+ date: 2025-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -16,100 +16,100 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.4
19
+ version: 0.3.6
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.3.4
22
+ version: 0.3.6
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 0.3.4
29
+ version: 0.3.6
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.3.4
32
+ version: 0.3.6
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rucy
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.3.4
39
+ version: 0.3.6
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 0.3.4
42
+ version: 0.3.6
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.3.4
49
+ version: 0.3.6
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 0.3.4
52
+ version: 0.3.6
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: beeps
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: 0.3.4
59
+ version: 0.3.6
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 0.3.4
62
+ version: 0.3.6
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 0.3.4
69
+ version: 0.3.6
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 0.3.4
72
+ version: 0.3.6
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: rays
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: 0.3.4
79
+ version: 0.3.6
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 0.3.4
82
+ version: 0.3.6
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.3.4
89
+ version: 0.3.6
90
90
  - - ">="
91
91
  - !ruby/object:Gem::Version
92
- version: 0.3.4
92
+ version: 0.3.6
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: reflexion
95
95
  requirement: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: 0.3.4
99
+ version: 0.3.6
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
- version: 0.3.4
102
+ version: 0.3.6
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 0.3.4
109
+ version: 0.3.6
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: 0.3.4
112
+ version: 0.3.6
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: processing
115
115
  requirement: !ruby/object:Gem::Requirement
@@ -119,7 +119,7 @@ dependencies:
119
119
  version: '1.1'
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: 1.1.6
122
+ version: 1.1.8
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
@@ -129,27 +129,27 @@ dependencies:
129
129
  version: '1.1'
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
- version: 1.1.6
132
+ version: 1.1.8
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: rubysketch
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 0.7.7
139
+ version: 0.7.9
140
140
  - - ">="
141
141
  - !ruby/object:Gem::Version
142
- version: 0.7.7
142
+ version: 0.7.9
143
143
  type: :runtime
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: 0.7.7
149
+ version: 0.7.9
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 0.7.7
152
+ version: 0.7.9
153
153
  description: A Retro Game Engine for Ruby.
154
154
  email: xordog@gmail.com
155
155
  executables:
@@ -157,11 +157,13 @@ executables:
157
157
  extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
+ - ".github/PULL_REQUEST_TEMPLATE.md"
160
161
  - ".github/workflows/release-gem.yml"
161
162
  - ".github/workflows/tag.yml"
162
163
  - ".github/workflows/test.yml"
163
164
  - ".github/workflows/utils.rb"
164
165
  - ".gitignore"
166
+ - CONTRIBUTING.md
165
167
  - ChangeLog.md
166
168
  - Gemfile
167
169
  - LICENSE
@@ -172,11 +174,11 @@ files:
172
174
  - lib/reight.rb
173
175
  - lib/reight/all.rb
174
176
  - lib/reight/app.rb
177
+ - lib/reight/app/chips.rb
175
178
  - lib/reight/app/map.rb
176
179
  - lib/reight/app/map/brush.rb
177
180
  - lib/reight/app/map/brush_base.rb
178
181
  - lib/reight/app/map/canvas.rb
179
- - lib/reight/app/map/chips.rb
180
182
  - lib/reight/app/map/editor.rb
181
183
  - lib/reight/app/map/line.rb
182
184
  - lib/reight/app/map/rect.rb
@@ -192,7 +194,6 @@ files:
192
194
  - lib/reight/app/sprite.rb
193
195
  - lib/reight/app/sprite/brush.rb
194
196
  - lib/reight/app/sprite/canvas.rb
195
- - lib/reight/app/sprite/chips.rb
196
197
  - lib/reight/app/sprite/color.rb
197
198
  - lib/reight/app/sprite/editor.rb
198
199
  - lib/reight/app/sprite/fill.rb
@@ -1,88 +0,0 @@
1
- using Reight
2
-
3
-
4
- class Reight::MapEditor::Chips
5
-
6
- def initialize(app, chips, size = 8)
7
- @app, @chips = app, chips
8
- @offset = create_vector
9
-
10
- @app.history.disable do
11
- set_frame 0, 0, size, size
12
- end
13
- end
14
-
15
- attr_reader :x, :y, :size
16
-
17
- def chip = @chips.at(x, y, size, size)
18
-
19
- def set_frame(x, y, w, h)
20
- raise 'Chips: width != height' if w != h
21
- @x = align_to_grid(x).clamp(0..@chips.image.width)
22
- @y = align_to_grid(y).clamp(0..@chips.image.height)
23
- @size = w
24
- end
25
-
26
- def draw()
27
- sp = sprite
28
- clip sp.x, sp.y, sp.w, sp.h
29
-
30
- fill 0
31
- no_stroke
32
- rect 0, 0, sp.w, sp.h
33
-
34
- translate(*clamp_offset(@offset).to_a)
35
- image @chips.image, 0, 0
36
-
37
- no_fill
38
- stroke 255, 255, 255
39
- stroke_weight 1
40
- rect @x, @y, @size, @size
41
- end
42
-
43
- def mouse_pressed(x, y)
44
- @prev_pos = create_vector x, y
45
- end
46
-
47
- def mouse_released(x, y)
48
- @offset = clamp_offset @offset
49
- end
50
-
51
- def mouse_dragged(x, y)
52
- pos = create_vector x, y
53
- @offset += pos - @prev_pos if @prev_pos
54
- @prev_pos = pos
55
- end
56
-
57
- def mouse_clicked(x, y)
58
- set_frame(
59
- -@offset.x + align_to_grid(x),
60
- -@offset.y + align_to_grid(y),
61
- size,
62
- size)
63
- end
64
-
65
- def sprite()
66
- @sprite ||= RubySketch::Sprite.new.tap do |sp|
67
- sp.draw {draw}
68
- sp.mouse_pressed {mouse_pressed sp.mouse_x, sp.mouse_y}
69
- sp.mouse_released {mouse_released sp.mouse_x, sp.mouse_y}
70
- sp.mouse_dragged {mouse_dragged sp.mouse_x, sp.mouse_y}
71
- sp.mouse_clicked {mouse_clicked sp.mouse_x, sp.mouse_y}
72
- end
73
- end
74
-
75
- private
76
-
77
- def clamp_offset(offset)
78
- sp = sprite
79
- x = offset.x.clamp([-(@chips.image.width - sp.w), 0].min..0)
80
- y = offset.y.clamp([-(@chips.image.height - sp.h), 0].min..0)
81
- create_vector align_to_grid(x), align_to_grid(y)
82
- end
83
-
84
- def align_to_grid(n)
85
- n.to_i / 8 * 8
86
- end
87
-
88
- end# Chips
@@ -1,97 +0,0 @@
1
- using Reight
2
-
3
-
4
- class Reight::SpriteEditor::Chips
5
-
6
- include Reight::Hookable
7
-
8
- def initialize(app, image, size = 8, &block)
9
- hook :frame_changed
10
-
11
- @app, @image = app, image
12
- @offset = create_vector
13
-
14
- @app.history.disable do
15
- set_frame 0, 0, size, size
16
- end
17
-
18
- frame_changed(&block)
19
- end
20
-
21
- attr_reader :x, :y, :size
22
-
23
- def set_frame(x, y, w, h)
24
- raise 'Chips: width != height' if w != h
25
- @x = align_to_grid(x).clamp(0..@image.width)
26
- @y = align_to_grid(y).clamp(0..@image.height)
27
- @size = w
28
- frame_changed! @x, @y, @size, @size
29
- end
30
-
31
- def draw()
32
- sp = sprite
33
- clip sp.x, sp.y, sp.w, sp.h
34
-
35
- fill 0
36
- no_stroke
37
- rect 0, 0, sp.w, sp.h
38
-
39
- translate(*clamp_offset(@offset).to_a)
40
- image @image, 0, 0
41
-
42
- no_fill
43
- stroke 255, 255, 255
44
- stroke_weight 1
45
- rect @x, @y, @size, @size
46
- end
47
-
48
- def mouse_pressed(x, y)
49
- @prev_pos = create_vector x, y
50
- end
51
-
52
- def mouse_released(x, y)
53
- @offset = clamp_offset @offset
54
- end
55
-
56
- def mouse_dragged(x, y)
57
- pos = create_vector x, y
58
- @offset += pos - @prev_pos if @prev_pos
59
- @prev_pos = pos
60
- end
61
-
62
- def mouse_clicked(x, y)
63
- set_frame(
64
- -@offset.x + align_to_grid(x),
65
- -@offset.y + align_to_grid(y),
66
- size,
67
- size)
68
- end
69
-
70
- def sprite()
71
- @sprite ||= RubySketch::Sprite.new.tap do |sp|
72
- sp.draw {draw}
73
- sp.mouse_pressed {mouse_pressed sp.mouse_x, sp.mouse_y}
74
- sp.mouse_released {mouse_released sp.mouse_x, sp.mouse_y}
75
- sp.mouse_dragged {mouse_dragged sp.mouse_x, sp.mouse_y}
76
- sp.mouse_clicked {mouse_clicked sp.mouse_x, sp.mouse_y}
77
- end
78
- end
79
-
80
- private
81
-
82
- def clamp_offset(offset)
83
- sp = sprite
84
- x = offset.x.clamp([-(@image.width - sp.w), 0].min..0)
85
- y = offset.y.clamp([-(@image.height - sp.h), 0].min..0)
86
- create_vector align_to_grid(x), align_to_grid(y)
87
- end
88
-
89
- def align_to_grid(n)
90
- n.to_i / 8 * 8
91
- end
92
-
93
- def selected()
94
- @selected.call @x, @y, @size, @size
95
- end
96
-
97
- end# Chips