diff --git a/shard.lock b/shard.lock index cc9aa81..a421f9e 100644 --- a/shard.lock +++ b/shard.lock @@ -1,5 +1,9 @@ version: 2.0 shards: + baked_file_system: + git: https://github.com/schovi/baked_file_system.git + version: 0.10.0 + crystgl: git: https://github.com/calebuharrison/crystgl.git version: 0.1.0+git.commit.c39912c8723873ea50b628940d79ce725b6cd37f diff --git a/shard.yml b/shard.yml index a8e7972..3098ef0 100644 --- a/shard.yml +++ b/shard.yml @@ -18,6 +18,9 @@ dependencies: github: calebuharrison/CrystImage sdl: github: ysbaddaden/sdl.cr + baked_file_system: + github: schovi/baked_file_system + version: 0.10.0 targets: funfriend: diff --git a/src/chatter_context.cr b/src/chatter_context.cr index 81ef726..ffae847 100644 --- a/src/chatter_context.cr +++ b/src/chatter_context.cr @@ -11,7 +11,7 @@ class Funfriend::ChatterContext < Funfriend::WindowContext PADDING = 10 def initialize(text : String, position : Vec2, duration : Float64 = DEFAULT_DURATION, parent : WindowContext? = nil) - sheet = FontMan.parse_bm(File.read "assets/fonts/SpaceMono.fnt") + sheet = FontMan.parse_bm(FileStorage.get("assets/fonts/SpaceMono.fnt").gets_to_end) position_data = FontMan.position_text(text, sheet) diff --git a/src/file_storage.cr b/src/file_storage.cr new file mode 100644 index 0000000..b1b8f33 --- /dev/null +++ b/src/file_storage.cr @@ -0,0 +1,10 @@ +require "baked_file_system" + +module Funfriend + class FileStorage + extend BakedFileSystem + + bake_folder "../assets" + bake_folder "./glsl" + end +end diff --git a/src/funfriend.cr b/src/funfriend.cr index de98515..120e9e9 100644 --- a/src/funfriend.cr +++ b/src/funfriend.cr @@ -7,6 +7,7 @@ require "./log.cr" require "./ease.cr" require "./vec2.cr" require "./gl.cr" +require "./file_storage.cr" require "./configman.cr" require "./textureman.cr" require "./fontman.cr" diff --git a/src/funfriend_renderer.cr b/src/funfriend_renderer.cr index 79fb768..42d0ad2 100644 --- a/src/funfriend_renderer.cr +++ b/src/funfriend_renderer.cr @@ -76,8 +76,8 @@ class Funfriend::FunfriendRenderer end def init_shaders - vertex_shader_source = File.read "src/glsl/nop.vert" - fragment_shader_source = File.read "src/glsl/funfriend.frag" + vertex_shader_source = FileStorage.get("nop.vert").gets_to_end + fragment_shader_source = FileStorage.get("funfriend.frag").gets_to_end vertex_shader = VertexShader.create(vertex_shader_source) fragment_shader = FragmentShader.create(fragment_shader_source) diff --git a/src/text_renderer.cr b/src/text_renderer.cr index baf7e09..d32a5db 100644 --- a/src/text_renderer.cr +++ b/src/text_renderer.cr @@ -35,8 +35,8 @@ class Funfriend::TextRenderer end def init_shaders - vertex_shader_source = File.read "src/glsl/nop.vert" - fragment_shader_source = File.read "src/glsl/bake_alpha.frag" + vertex_shader_source = FileStorage.get("nop.vert").gets_to_end + fragment_shader_source = FileStorage.get("bake_alpha.frag").gets_to_end vertex_shader = VertexShader.create(vertex_shader_source) fragment_shader = FragmentShader.create(fragment_shader_source)