kelsey-sorrels / zaffre Goto Github PK
View Code? Open in Web Editor NEWA fast clojure console library
License: MIT License
A fast clojure console library
License: MIT License
Here's the output from trying to run Zaffre's main directly (so I know it's not me).
PS E:\clojurestuff\zaffre> lein run
Reflection warning, zaffre/glterminal.clj:95:24 - reference to field getName can't be resolved.
Reflection warning, zaffre/glterminal.clj:95:40 - reference to field getSize can't be resolved.
Reflection warning, zaffre/glterminal.clj:124:46 - call to method canDisplay can't be resolved (target class is unknown).
Reflection warning, zaffre/glterminal.clj:175:7 - call to method setRenderingHint on java.awt.Graphics can't be resolved (no such method).
Reflection warning, zaffre/glterminal.clj:213:24 - reference to field getWidth can't be resolved.
Reflection warning, zaffre/glterminal.clj:214:24 - reference to field getHeight can't be resolved.
Reflection warning, zaffre/glterminal.clj:217:18 - reference to field getRaster can't be resolved.
Reflection warning, zaffre/glterminal.clj:218:18 - reference to field getDataBuffer can't be resolved.
Reflection warning, zaffre/glterminal.clj:220:18 - reference to field getData can't be resolved.
Reflection warning, zaffre/glterminal.clj:221:33 - call to static method alength on clojure.lang.RT can't be resolved (argument types: unknown).
Reflection warning, zaffre/glterminal.clj:271:15 - reference to field getWidth can't be resolved.
Reflection warning, zaffre/glterminal.clj:272:16 - reference to field getHeight can't be resolved.
Reflection warning, zaffre/glterminal.clj:309:7 - call to static method glTexImage2D on org.lwjgl.opengl.GL11 can't be resolved (argument types: int, long, int, unknown, unknown, long, int, int, unknown).
Reflection warning, zaffre/glterminal.clj:355:59 - call to static method aset on clojure.lang.RT can't be resolved (argument types: unknown, int, unknown).
Reflection warning, zaffre/glterminal.clj:361:61 - call to static method aset on clojure.lang.RT can't be resolved (argument types: unknown, int, unknown).
Reflection warning, zaffre/glterminal.clj:362:61 - call to static method aset on clojure.lang.RT can't be resolved (argument types: unknown, int, unknown).
Reflection warning, zaffre/glterminal.clj:446:7 - call to static method glBindAttribLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: int, java.lang.Object, java.lang.Object).
Reflection warning, zaffre/glterminal.clj:446:7 - call to static method glBindAttribLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: int, java.lang.Object, java.lang.Object).
Reflection warning, zaffre/glterminal.clj:486:7 - reference to field flip can't be resolved.
Reflection warning, zaffre/glterminal.clj:498:7 - reference to field flip can't be resolved.
Reflection warning, zaffre/glterminal.clj:633:11 - call to static method glTexImage2D on org.lwjgl.opengl.GL11 can't be resolved (argument types: int, long, int, java.lang.Object, java.lang.Object, long, int, int, unknown).
Reflection warning, zaffre/glterminal.clj:930:68 - call to static method glGetAttribLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: java.lang.Object, java.lang.String).
Reflection warning, zaffre/glterminal.clj:931:68 - call to static method glGetAttribLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: java.lang.Object, java.lang.String).
Reflection warning, zaffre/glterminal.clj:932:71 - call to static method glGetAttribLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: java.lang.Object, java.lang.String).
Reflection warning, zaffre/glterminal.clj:933:71 - call to static method glGetAttribLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: java.lang.Object, java.lang.String).
Reflection warning, zaffre/glterminal.clj:949:59 - call to static method glGetUniformLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: java.lang.Object, unknown).
Reflection warning, zaffre/glterminal.clj:962:59 - call to static method glGetUniformLocation on org.lwjgl.opengl.GL20 can't be resolved (argument types: java.lang.Object, unknown).
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - Loading font by name
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - Using font java.awt.Font[family=Consolas,name=Consolas,style=plain,size=18]
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - characters per line 204
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - characters 4650 cwidth 2048 cheight 512
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - glyph image width 2048 height 512
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - arranging character with zaffre.glterminal$characters_per_line@1a1ccaaf per line
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - Created font texture. screen-width 800 screen-height 528
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - screen size 800 x 528
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - byte-buffer [Ljava.nio.ByteBuffer;@510a4cf4
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - Creating glyph array
16-02-29 00:46:14 Max-Desktop INFO [zaffre.glterminal] - creating buffers for glyph/fg/bg textures ( 128 x 32 )
ERROR: Linking Shaders:
Vertex shader(s) failed to link.
Vertex link error: INVALID_OPERATION.
ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context
ERROR: error(#273) 1 compilation errors. No code generated
Exception in thread "main" java.lang.Exception: OpenGL Error(1282):GL_INVALID_OPERATION: glGenBuffers vertices-vbo-id - Invalid operation, compiling:(C:\Users\max\AppData\Local\Temp\form-init5499585173456089547.clj:1:106)
at clojure.lang.Compiler.load(Compiler.java:7239)
at clojure.lang.Compiler.loadFile(Compiler.java:7165)
at clojure.main$load_script.invoke(main.clj:275)
at clojure.main$init_opt.invoke(main.clj:280)
at clojure.main$initialize.invoke(main.clj:308)
at clojure.main$null_opt.invoke(main.clj:343)
at clojure.main$main.doInvoke(main.clj:421)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.lang.Exception: OpenGL Error(1282):GL_INVALID_OPERATION: glGenBuffers vertices-vbo-id - Invalid operation
at zaffre.glterminal$except_gl_errors.invoke(glterminal.clj:266)
at zaffre.glterminal$init_buffers.invoke(glterminal.clj:521)
at zaffre.glterminal$make_terminal$fn__2943.invoke(glterminal.clj:939)
at zaffre.glterminal$make_terminal.invoke(glterminal.clj:939)
at zaffre.glterminal$handle_input_in_main.doInvoke(glterminal.clj:1104)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at zaffre.glterminal$_main.doInvoke(glterminal.clj:1160)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.Var.invoke(Var.java:375)
at user$eval2515.invoke(form-init5499585173456089547.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6782)
at clojure.lang.Compiler.eval(Compiler.java:6772)
at clojure.lang.Compiler.load(Compiler.java:7227)
... 11 more
Then a blank window pops up and I have to do something to kill off the JVM.
It seems to be related to the recent shader fx change. In my project I originally hadn't set the fx-shader-name option, and setting it to retro.fs didn't help.
I'm on 64 bit Windows 10, Java 1.8. If you need any more information or there's any other way I can help debugging let me know.
Hello,
I am trying to use zaffre as a dependency in a new project that I created with lein. I tried to run the example code that is in the Quickstart, but I am met with an error.
project.clj
core.clj
error printed to console after starting with lein run
Do you know what I am doing wrong? I was able to run the examples in this repository without problem.
Owen
I'm interested in feedback on an interface for terminal layers. Layer order would be a required make-terminal
param ex: (:layer-order [:text :ui :fx]
) going from bottommost to topmost layer.
I have two options prepared. One adds a requirement that characters include a :layer-id
value. The other adds a layer-id parameter to put-chars!
.
They look like this:
(put-chars! terminal [{:c \a :x 0 :y 0 :layer-id :ui}
{:c \a :x 1 :y 0 :layer-id :ui}
{:c \a :x 0 :y 0 :layer-id :base}
{:c \a :x 1 :y 0 :layer-id :base}])
(with-layer :ui
(put-chars! terminal [{:c \a :x 0 :y 0}
{:c \a :x 1 :y 0}]))
(with-layer :text
(put-chars! terminal [{:c \a :x 1 :y 0}
{:c \a :x 1 :y 0}]))
(put-chars! terminal :ui [{:c \a :x 0 :y 0}
{:c \a :x 1 :y 0}])
(put-chars! terminal :text [{:c \a :x 0 :y 0}
{:c \a :x 1 :y 0}])
(put-chars! terminal :ui [{:c \a :x 0 :y 0}
{:c \a :x 1 :y 0}])
:text [{:c \a :x 0 :y 0}
{:c \a :x 1 :y 0}])
clear!
, set-fg!
, set-bg-!
, set-fx-fg!
, set-fx-bg!
, and set-fx-char!
will require the addition of a layer-id
parameter.
Add
(clear! terminal layer-id)
(clear-fx! terminal layer-id)
Repurpose
(clear! terminal)
to clear all layers
(clear-fx! terminal)
to clear fx on all layers
Fails with error:
No matching ctor found for class zaffre.font.CP437Font
On this line:
(def font (CP437Font. "http://dwarffortresswiki.org/images/b/be/Pastiche_8x8.png" :green 2 false))
I tried using the more Clojury syntax for making an instance:
(def font (zfont/->CP437Font "http://dwarffortresswiki.org/images/b/be/Pastiche_8x8.png" :green 2 false))
but:
Wrong number of args (4) passed to: zaffre.font/eval27940/->CP437Font--27993
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.