From a5bbcbf5d78005746fb64c51a779f830d7667a57 Mon Sep 17 00:00:00 2001 From: realtradam Date: Wed, 26 May 2021 02:09:12 -0400 Subject: split off FelFlame --- .gitmodules | 3 ++ app/dragonruby | 1 - app/lib/FelFlame | 1 + app/lib/component_manager.rb | 20 --------- app/lib/components/00_renderable.rb | 16 ------- app/lib/components/01_sprite.rb | 44 ------------------- app/lib/components/02_label.rb | 27 ------------ app/lib/components/03_player_control.rb | 21 --------- app/lib/components/04_map.rb | 21 --------- app/lib/components/05_interactable.rb | 16 ------- app/lib/components/06_collidable.rb | 22 ---------- app/lib/components/07_battle.rb | 4 -- app/lib/components/07_indoor.rb | 4 -- app/lib/components/07_overworld.rb | 16 ------- app/lib/components/debug_singleton.rb | 13 ------ app/lib/entity_manager.rb | 63 --------------------------- app/lib/helpers/00_tileset.rb | 49 --------------------- app/lib/helpers/01_component.rb | 76 --------------------------------- app/lib/signatures.rb | 43 ------------------- app/lib/system_manager.rb | 5 --- app/lib/systems/00_update_levels.rb | 34 --------------- app/lib/systems/10_player.rb | 41 ------------------ app/lib/systems/99_render.rb | 37 ---------------- app/lib/test.rb | 18 -------- app/main.rb | 20 ++++----- app/tick.rb | 47 ++++++++++---------- 26 files changed, 38 insertions(+), 624 deletions(-) delete mode 120000 app/dragonruby create mode 160000 app/lib/FelFlame delete mode 100644 app/lib/component_manager.rb delete mode 100644 app/lib/components/00_renderable.rb delete mode 100644 app/lib/components/01_sprite.rb delete mode 100644 app/lib/components/02_label.rb delete mode 100644 app/lib/components/03_player_control.rb delete mode 100644 app/lib/components/04_map.rb delete mode 100644 app/lib/components/05_interactable.rb delete mode 100644 app/lib/components/06_collidable.rb delete mode 100644 app/lib/components/07_battle.rb delete mode 100644 app/lib/components/07_indoor.rb delete mode 100644 app/lib/components/07_overworld.rb delete mode 100644 app/lib/components/debug_singleton.rb delete mode 100644 app/lib/entity_manager.rb delete mode 100644 app/lib/helpers/00_tileset.rb delete mode 100644 app/lib/helpers/01_component.rb delete mode 100644 app/lib/signatures.rb delete mode 100644 app/lib/system_manager.rb delete mode 100644 app/lib/systems/00_update_levels.rb delete mode 100644 app/lib/systems/10_player.rb delete mode 100644 app/lib/systems/99_render.rb delete mode 100644 app/lib/test.rb diff --git a/.gitmodules b/.gitmodules index e83e67c..b83ffa3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "sprites/non-free"] path = assets/non-free url = gitea@git.tradam.fyi:tradam/pixel-assets-nonfree.git +[submodule "app/lib/FelFlame"] + path = app/lib/FelFlame + url = gitea@git.tradam.fyi:tradam/FelFlame.git diff --git a/app/dragonruby b/app/dragonruby deleted file mode 120000 index 2e5d301..0000000 --- a/app/dragonruby +++ /dev/null @@ -1 +0,0 @@ -/home/tradam/Documents/Ruby/dragon/dragonruby-linux-amd64/dragonruby \ No newline at end of file diff --git a/app/lib/FelFlame b/app/lib/FelFlame new file mode 160000 index 0000000..7bec71d --- /dev/null +++ b/app/lib/FelFlame @@ -0,0 +1 @@ +Subproject commit 7bec71db2680e0503f39c31047f5f90ca89433df diff --git a/app/lib/component_manager.rb b/app/lib/component_manager.rb deleted file mode 100644 index f5261a2..0000000 --- a/app/lib/component_manager.rb +++ /dev/null @@ -1,20 +0,0 @@ -#require 'app/ECS/base_component.rb' - -#require 'app/ECS/components/00_test_component.rb' -#require 'app/ECS/components/01_based.rb' - -class Components - class < 1 - return {} - end - - json_tiles = self.get_json_tiles(json_name) - raise Exception.new "Error, json file not a tileset" unless json_tiles['type'] == 'tileset' - return tile_index - json_tiles['tilecount'] if tile_index > json_tiles['tilecount'] - source_height_tiles = (tile_index.to_i / json_tiles['columns'].to_i).to_i# * json_tiles['tileheight'] - { w: json_tiles['tilewidth'], - h: json_tiles['tileheight'], - path: json_tiles['image'].split('mygame/').last.delete('\\'), - source_x: [((tile_index % json_tiles['columns']) - 1) * json_tiles['tilewidth'], 0].max, - # source_y gets special treatment - source_y: [json_tiles['imageheight'] - ((source_height_tiles + 1) * json_tiles['tileheight']), 0].max, - source_w: json_tiles['tilewidth'], - source_h: json_tiles['tileheight'] } - end - end -end diff --git a/app/lib/helpers/01_component.rb b/app/lib/helpers/01_component.rb deleted file mode 100644 index 4937ec9..0000000 --- a/app/lib/helpers/01_component.rb +++ /dev/null @@ -1,76 +0,0 @@ -class Helper - class BaseComponent - class <= Components::Map.data[key].json['tilesets'].count - end - unless tile.empty? - tile[:x] = Components::Map.data[key].x + (Components::Map.data[key].tilewidth * column_index) + chunk['x'] - tile[:y] = Components::Map.data[key].y + (Components::Map.data[key].tileheight * row_index) + chunk['y'] - tile[:w] = Components::Map.data[key].tilewidth - tile[:h] = Components::Map.data[key].tileheight - $gtk.args.outputs.sprites << tile - end - end - end - end - end - end - end - end - end - end -end diff --git a/app/lib/test.rb b/app/lib/test.rb deleted file mode 100644 index 13fd401..0000000 --- a/app/lib/test.rb +++ /dev/null @@ -1,18 +0,0 @@ -require_relative './entity_manager.rb' -require_relative './component_manager.rb' -require_relative './system_manager.rb' - -move = '0001'.to_i(2) -base = '0010'.to_i(2) -both = '0011'.to_i(2) -Entity.new(move) -Entity.new(base) -Entity.new(both) - -3.times do - Systems.constants.each do |constant| - puts "|----#{constant.to_s.upcase}----|" - Systems::const_get(constant).run - end - #ECS::Entity.destroy_entity(ECS::Entity.all.last.id) unless ECS::Entity.all.empty? -end diff --git a/app/main.rb b/app/main.rb index a05c9da..50cd976 100644 --- a/app/main.rb +++ b/app/main.rb @@ -3,23 +3,23 @@ # replaces by require of each individual ruby file def require_all dir `ls #{dir}`.each_line do |file| - require "app/#{dir}/#{file.strip}" + require "#{dir}/#{file.strip}" end end -require 'app/dragonruby-game-toolkit-contrib/dragon/grid.rb' +require 'mygame/app/dragonruby-game-toolkit-contrib/dragon/grid.rb' -require_all 'lib/helpers' +require_all 'mygame/app/lib/FelFlame/helpers' -require 'app/lib/signatures.rb' +require 'mygame/app/lib/FelFlame/signatures.rb' -require 'app/lib/entity_manager.rb' +require 'mygame/app/lib/FelFlame/entity_manager.rb' -require 'app/lib/component_manager.rb' -require_all 'lib/components' +require 'mygame/app/lib/FelFlame/component_manager.rb' +require_all 'mygame/app/lib/FelFlame/components' -require 'app/lib/system_manager.rb' -require_all 'lib/systems' +require 'mygame/app/lib/FelFlame/system_manager.rb' +require_all 'mygame/app/lib/FelFlame/systems' -require 'app/tick.rb' +require 'mygame/app/tick.rb' diff --git a/app/tick.rb b/app/tick.rb index a4b2153..509d550 100644 --- a/app/tick.rb +++ b/app/tick.rb @@ -1,33 +1,34 @@ $gtk.args.grid.origin_top_left! Components::DebugSingleton.data = true -@thing0 = Entity.new(ID.sprite, - ID.renderable, - ID.player_control, - ID.overworld) -Components::Sprite.data[@thing0.id].set(x: 256, y: 128, w: 64, h: 64, path: 'dragonruby.png') -Components::Renderable.data[@thing0.id].z = 10 -Components::Overworld.data[@thing0.id].set(x: 4, y: 2) +def sample + @thing0 = Entity.new(ID.sprite, + ID.renderable, + ID.player_control, + ID.overworld) + Components::Sprite.data[@thing0.id].set(x: 256, y: 128, w: 64, h: 64, path: 'dragonruby.png') + Components::Renderable.data[@thing0.id].z = 10 + Components::Overworld.data[@thing0.id].set(x: 4, y: 2) -#@thing1 = Entity.new(ID.label, ID.renderable) + #@thing1 = Entity.new(ID.label, ID.renderable) -@thing2 = Entity.new(ID.label, ID.renderable) -Components::Label.data[@thing2.id].set(x: 740, y: 520, - text: 'It Werks', - size_enum: 5, - alignment_enum: 1) -Components::Renderable.data[@thing2.id].z = 5 - -@map2 = Entity.new(ID.map, ID.renderable, ID.overworld) -Components::Map.data[@map2.id].set(x: 0, - y: 0, - tilewidth: 64, - tileheight: 64, - json_name: 'map_test2') -Components::Renderable.data[@map2.id].z = 4 + @thing2 = Entity.new(ID.label, ID.renderable) + Components::Label.data[@thing2.id].set(x: 740, y: 520, + text: 'It Werks', + size_enum: 5, + alignment_enum: 1) + Components::Renderable.data[@thing2.id].z = 5 + @map2 = Entity.new(ID.map, ID.renderable, ID.overworld) + Components::Map.data[@map2.id].set(x: 0, + y: 0, + tilewidth: 64, + tileheight: 64, + json_name: 'map_test2') + Components::Renderable.data[@map2.id].z = 4 +end -#Helper.get_json_tiles('map_test') +sample @x = 0 def tick args @x += 1 -- cgit v1.2.3