Compare commits

...

8 Commits

Author SHA1 Message Date
dependabot[bot]
49a08b0ca6 Bump nokogiri from 1.14.2 to 1.14.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.14.2 to 1.14.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.14.2...v1.14.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 06:32:39 +00:00
b418c402fb Updates to support changes to CyberarmEngine 2023-03-30 10:49:47 -05:00
e8702f2b2e Merge pull request #17 from cyberarm/dependabot/bundler/nokogiri-1.13.6
Bump nokogiri from 1.13.4 to 1.13.6
2022-05-24 09:37:46 -05:00
dependabot[bot]
6d628c85cc Bump nokogiri from 1.13.4 to 1.13.6
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.4 to 1.13.6.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.4...v1.13.6)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-24 05:21:13 +00:00
b6284922c0 Merge pull request #15 from cyberarm/dependabot/bundler/nokogiri-1.13.4
Bump nokogiri from 1.13.2 to 1.13.4
2022-04-12 08:05:21 -05:00
dependabot[bot]
8b7af7126d Bump nokogiri from 1.13.2 to 1.13.4
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.2 to 1.13.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.4/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.2...v1.13.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 10:23:12 +00:00
74774ce0c2 Merge pull request #14 from cyberarm/dependabot/bundler/nokogiri-1.13.2
Bump nokogiri from 1.11.4 to 1.13.2
2022-03-12 21:26:39 -06:00
dependabot[bot]
a8d653deaa Bump nokogiri from 1.11.4 to 1.13.2
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.4 to 1.13.2.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.4...v1.13.2)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-26 10:26:35 +00:00
5 changed files with 29 additions and 25 deletions

View File

@@ -1,25 +1,26 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
clipboard (1.3.5) cyberarm_engine (0.23.0)
cyberarm_engine (0.15.0) excon (~> 0.88)
clipboard (~> 1.3.5) gosu (~> 1.1)
excon (~> 0.78.0)
gosu (~> 1.0.0)
gosu_more_drawables (~> 0.3) gosu_more_drawables (~> 0.3)
excon (0.78.1) excon (0.99.0)
gosu (1.0.0) gosu (1.4.5)
gosu_more_drawables (0.3.1) gosu_more_drawables (0.3.1)
mini_portile2 (2.5.1) mini_portile2 (2.8.1)
nokogiri (1.11.4) nokogiri (1.14.3)
mini_portile2 (~> 2.5.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.11.4-x86_64-linux) nokogiri (1.14.3-x64-mingw-ucrt)
racc (~> 1.4) racc (~> 1.4)
racc (1.5.2) nokogiri (1.14.3-x86_64-linux)
racc (~> 1.4)
racc (1.6.2)
PLATFORMS PLATFORMS
ruby ruby
x64-mingw-ucrt
x86_64-linux x86_64-linux
DEPENDENCIES DEPENDENCIES
@@ -27,4 +28,4 @@ DEPENDENCIES
nokogiri nokogiri
BUNDLED WITH BUNDLED WITH
2.2.3 2.4.8

View File

@@ -1,8 +1,10 @@
class IMICRTS class IMICRTS
class Camera class Camera
include CyberarmEngine::Common
attr_reader :viewport, :position, :velocity, :zoom, :drag attr_reader :viewport, :position, :velocity, :zoom, :drag
def initialize(viewport:, scroll_speed: 10, position: CyberarmEngine::Vector.new(0.0, 0.0)) def initialize(viewport: [0, 0, window.width, window.height], scroll_speed: 10, position: CyberarmEngine::Vector.new(0.0, 0.0))
@viewport = CyberarmEngine::BoundingBox.new(viewport[0], viewport[1], viewport[2], viewport[3]) @viewport = CyberarmEngine::BoundingBox.new(viewport[0], viewport[1], viewport[2], viewport[3])
@scroll_speed = scroll_speed @scroll_speed = scroll_speed
@position = position @position = position
@@ -16,10 +18,6 @@ class IMICRTS
@grab_drag = 0.5 # Used when camera is panned using middle mouse button @grab_drag = 0.5 # Used when camera is panned using middle mouse button
end end
def window;
$window;
end
def draw(&block) def draw(&block)
if block if block
Gosu.clip_to(@viewport.min.x, @viewport.min.y, @viewport.max.x, @viewport.max.y) do Gosu.clip_to(@viewport.min.x, @viewport.min.y, @viewport.max.x, @viewport.max.y) do

View File

@@ -1,5 +1,7 @@
class IMICRTS class IMICRTS
class Map class Map
include CyberarmEngine::Common
attr_reader :tile_size, :tiles, :ores, :spawnpoints, :width, :height, :map_file attr_reader :tile_size, :tiles, :ores, :spawnpoints, :width, :height, :map_file
def initialize(map_file:) def initialize(map_file:)
@@ -88,7 +90,7 @@ class IMICRTS
_tiles = [] _tiles = []
visiblity_map = observer.visiblity_map visiblity_map = observer.visiblity_map
top_left = (observer.camera.center - observer.camera.position) - CyberarmEngine::Vector.new($window.width / 2, $window.height / 2) / observer.camera.zoom top_left = (observer.camera.center - observer.camera.position) - CyberarmEngine::Vector.new(window.width / 2, window.height / 2) / observer.camera.zoom
top_left /= @tile_size top_left /= @tile_size
top_left.x = top_left.x.floor top_left.x = top_left.x.floor
@@ -96,8 +98,8 @@ class IMICRTS
# +1 to overdraw a bit to hide pop-in # +1 to overdraw a bit to hide pop-in
_width = ((($window.width / @tile_size) + 2) / observer.camera.zoom).ceil _width = (((window.width / @tile_size) + 2) / observer.camera.zoom).ceil
_height = ((($window.height / @tile_size) + 2) / observer.camera.zoom).ceil _height = (((window.height / @tile_size) + 2) / observer.camera.zoom).ceil
_height.times do |y| _height.times do |y|
_width.times do |x| _width.times do |x|

View File

@@ -87,7 +87,7 @@ class IMICRTS
end end
def update def update
@position -= (@direction * @speed) * $window.dt @position -= (@direction * @speed) * CyberarmEngine::Window.dt
end end
def die? def die?

View File

@@ -14,7 +14,7 @@ class IMICRTS
@entities = [] @entities = []
@orders = [] @orders = []
@camera = Camera.new(viewport: [0, 0, $window.width, $window.height]) @camera = Camera.new
@last_camera_position = @camera.position.clone @last_camera_position = @camera.position.clone
@camera_moved = true @camera_moved = true
@camera_move_threshold = 5 @camera_move_threshold = 5
@@ -27,7 +27,10 @@ class IMICRTS
@camera_moved = (@last_camera_position - @camera.position.clone).sum > @camera_move_threshold @camera_moved = (@last_camera_position - @camera.position.clone).sum > @camera_move_threshold
@last_camera_position = @camera.position.clone @last_camera_position = @camera.position.clone
@entities.each { |ent| ent.tick(tick_id); @visiblity_map.update(ent) } @entities.each do |ent|
ent.tick(tick_id)
@visiblity_map.update(ent)
end
end end
def update def update
@@ -58,4 +61,4 @@ class IMICRTS
end end
end end
end end
end end