- Edited
Terminal emulator control<br><br>I'm in process of rewriting my old terminal emulator control utilizing new Godot features like dynamic fonts and new plugin API. In my previous project terminal had fixed size, now it can be used like any other control inside container. It will automatically adjust number of rows and columns when you resize parent container or when you change font size. <br><br>Why?<br><br>Personally I want to write game about hacking similar to Dark Signs Online and this is one of three key components I need. But it might be useful for other things as well (ASCII Roguelike?)<br>I could use RichTextLabel but my control is more flexible in this case ( for example you can set background color or transparency of each character cell individually) <br><br>Todo<br>
<strike>rewrite rendering so it will redraw only changed parts of terminal (this will improve performance)<br></strike>
<strike>add mouse support</strike>
write tests?<br>
write some documentation
extend terminal and buffer API
create basic scrollback buffer demo<br>
create more examples (mouse, simple game etc)
Screenshot<br><br><img alt="jvv34Y0png" src="http://i.imgur.com/jvv34Y0.png" title="Image: http://i.imgur.com/jvv34Y0.png"><br><br>Where?<br><br>Github repo | Blog post | First implementation<br><br>Updates<br><br>v0.7 Huge optimization, still too slow IMHO<br>v0.6 Demo fixes and some optimization <br>v0.5 Lot of changes including simpler API and rendering background in editor<br>v0.2 All terminal methods from first version were implemented.<br>v0.3 Multiple fonts rendering<br><br>Feedback appreciated :smile: <br>