Leroy Hopson
03f9b84b71
Be explicit about building for debug target
2021-06-19 19:44:11 +07:00
Leroy Hopson
0743f2a97a
Use gdnative api to get constants only for javascript platform
...
When trying to load the library in a non-Mono Godot editor v3.3.2
an error is printed about godot_get_global_constants(). Furthermore,
the issue with using the GlobalConstants header to get constants is only
present on the javascript platform, so we can revert all other platforms
to the old way of getting constants.
2021-06-19 19:39:20 +07:00
Leroy Hopson
302bdf0714
Format .gd files and fix gdformat pre-commit hook
...
Previously this hook was not being run.
2021-06-19 18:02:07 +07:00
Leroy Hopson
80bcc41855
Save themes in .tres format
...
Better for version control and editing outside of the editor.
2021-06-18 10:17:48 +07:00
Leroy Hopson
3fb2580fc6
Build scripts: check if submodule directories are empty
...
In a freshly cloned repo, submodule directories exist but are not
empty. Check if they are empty and update submodules. Previously,
submodules where only updated if their directories did not exist.
2021-06-15 14:14:48 +07:00
Leroy Hopson
bdda1458c0
Update files for javascript build and export
...
Adds some files to making building and export for HTML5 more convenient.
2021-06-15 14:02:40 +07:00
Leroy Hopson
c1334896d6
Explicity check not javascript when including pseudoterminal
...
If compiling for javascript platform on linux '__unix__' will be defined,
so instead check for the abscence of '__EMSCRIPTEN__'.
2021-06-15 14:02:01 +07:00
Leroy Hopson
0437d0f18c
Rename directory 'external' -> 'thirdparty'
2021-06-12 15:10:42 +07:00
Leroy Hopson
caf3bf1910
Use standard OS macros
...
As per: https://sourceforge.net/p/predef/wiki/OperatingSystems/
2021-06-08 22:59:12 +07:00
Leroy Hopson
bb8d40df58
Add HTML5 support
2021-06-07 18:29:33 +07:00
Leroy Hopson
fbb23661d3
Get KeyList constants from GDNative API
...
Previously KeyList constants came from the GlobalConstants.hpp header,
but this did not work when compiling for HTML5. Therefore, we now get
the globals constants from the GDNative API.
Throws the error:
`LNK2019: unresolved external symbol godot_get_global_constants referenced in function "private: static void __cdecl godot::Terminal::_populate_key_list(void)" (?_populate_key_list@Terminal@godot@@CAXXZ)`
in GitHub Windows action. So use the old technique on Windows for now.
This is a prerequisite for HTML5 support.
2021-06-06 21:57:06 +07:00
Leroy Hopson
6e455738b8
Format c++ files using clang-format
...
Add git pre-commit hooks to help with automatic formatting.
2021-06-06 20:05:22 +07:00
Leroy Hopson
99989d19e4
Update godot-cpp
2021-06-06 17:19:24 +07:00
Leroy Hopson
f43149f204
Format files using GDScript Toolkit
...
https://github.com/Scony/godot-gdscript-toolkit
2021-06-06 16:25:19 +07:00
Leroy Hopson
a0237bb5d5
Add more themes
2020-11-30 11:24:34 +07:00
Leroy Hopson
472f0f573b
Add transparency support for theme colors
...
Closes #19 .
2020-11-29 15:53:50 +07:00
Leroy Hopson
3e177b781e
Set a default theme if theme property is not set
...
This means that the terminal is no longer blank if no theme has been
set.
2020-11-29 15:53:50 +07:00
Leroy Hopson
8b25be74c0
Don't swap red and blue channels of theme colors
...
Fixes #18
2020-11-29 13:32:14 +07:00
Leroy Hopson
6a626905d6
Use "Light Cyan" color from theme
...
Previously this color was ignored.
2020-11-29 13:32:14 +07:00
Leroy Hopson
b55f96cb70
Bump version to 1.2.1
2020-11-23 16:20:41 +07:00
Leroy Hopson
4cc2115125
Build windows releases with /MT rather than /MD
...
When making a release export of a project, binaries built with the /MD
flag do not work.
2020-11-23 09:13:32 +07:00
Leroy Hopson
bdbc82e444
Update CHANGELOG, README and bump version
2020-11-21 19:44:43 +07:00
Leroy Hopson
6689ad1c09
Remove cross-compilation dependencies
...
It makes the github actions workflow take longer and cross-compiled
artifacts are not currently used (nor do they seem to work).
2020-11-21 19:44:43 +07:00
Leroy Hopson
570896b9c0
Provide correct arguments to execvp
...
Previously no arguments were provided, but by convention argv[0] should
be the name of the program.
Providing this argumens enables Psuedoterminal node to work on macOS.
2020-11-21 13:55:05 +07:00
Leroy Hopson
b2dc46636c
Update github actions workflow
...
- Uses matrix so that build steps don't need to be defined multiple
times.
- Caches godot-cpp bindings, so they only need to be built when the
submodule version changes.
- Uploads build artifacts for linux 32/64-bit, windows 64-bit and macOS
64-bit.
2020-11-21 12:20:13 +07:00
Leroy Hopson
c075ae7418
Enable compiling on macOS 64-bit using llvm
...
Closes #6
2020-11-20 21:32:43 +07:00
Leroy Hopson
007182b117
Enable compiling 64-bit on Windows using MSVC
...
Closes #5
2020-11-10 13:44:29 +07:00
Leroy Hopson
399acf00c7
Use alloc_c_string() to convert String to char*
...
Using get_data() would sometimes result in the wrong data being written.
Fixes #12
2020-11-07 18:13:48 +07:00
Leroy Hopson
43df7d5331
Migrate CI from travis-ci.com to GitHub Actions
2020-11-07 17:11:25 +07:00
Leroy Hopson
630e0104d5
Add support for Windows 64-bit
...
Tested on NixOS, Ubuntu and Arch Linux. Not yet able to compile for
Windows 32-bit on NixOS or on Windows itself.
Part of #5
2020-11-07 17:11:25 +07:00
Leroy Hopson
8c2c48f5b4
Move and recompile pre-built binary
...
Move pre-built binary to 'dist' folder so it no longer causes git
conflicts with custom builds. Also make it a release build which
decreases its size by ~70M.
Former-commit-id: ea9954712062f6ab0f6af9a55d72f0324cd51e5f
2020-10-16 14:58:11 +07:00
Leroy Hopson
9e1d0b8ee2
Position background rect at 0,0
...
This is important when terminal is a child of a Container node and we
set the margin properties, otherwise the background rect is drawn with
an offset.
Former-commit-id: e68d2f55c9
2020-10-16 12:55:41 +07:00
Leroy Hopson
7b42b97610
Update build script
...
Former-commit-id: fd39635fc5
2020-10-13 16:12:16 +07:00
Leroy Hopson
54cb343b3c
Bump version to 1.0.0
...
Former-commit-id: 46b2d2c56f
2020-10-05 18:16:17 +07:00
Leroy Hopson
0fe6811f54
Update documentation and LICENSE
...
Former-commit-id: c66e478484
2020-10-05 18:04:41 +07:00
Leroy Hopson
3d383484e1
Add pre-built binary for x11 platform
...
Former-commit-id: 293d35f5c5
2020-10-05 17:56:58 +07:00
Leroy Hopson
9bd17ec8dc
Multiple changes
...
Former-commit-id: db8e674358
2020-10-05 17:56:57 +07:00
Leroy Hopson
a55a05d3a4
Make Terminal a tool script
...
Former-commit-id: f63246d8ea
2020-10-05 17:56:57 +07:00
Leroy Hopson
9bdf69f6f5
Center cell string vertically
...
This prevents overlapping so we no longer need to draw all background
cells before the foreground.
Former-commit-id: faca53fe28
2020-10-05 17:56:57 +07:00
Leroy Hopson
cc457b8b9a
Don't cache true colors
...
If a true color has been set it will have code -1 regardless of the
actual color. Therefore, it shouldn't be stored in the color cache
dictionary otherwise all true color cells will be colored the most
recently set value.
Former-commit-id: 0d14fd1e47
2020-10-05 17:56:57 +07:00
Leroy Hopson
2a5e07aa48
Change write method to accept both String and PoolByteArray
...
Will print a warning if neither of these types is used as an argument.
Former-commit-id: 57aed28a0e
2020-10-05 17:56:57 +07:00
Leroy Hopson
11657d50f7
Copy old cells to new cells when resizing
...
Previously all cells were erased which resulted in the screen becoming
blank in some places until it was redrawn.
Former-commit-id: ada8b1087d
2020-10-05 17:56:57 +07:00
Leroy Hopson
313f6b8b60
Ensure terminal is initialized to the correct size
...
Moves the call to update_size() from _init() to _ready() to ensure
Terminal is initialized to the correct size.
Former-commit-id: 66b061bf8b
2020-10-05 17:56:57 +07:00
Leroy Hopson
a0a9ffb11e
Ignore vscode config files
...
Former-commit-id: e7c14bd76d
2020-10-05 17:56:57 +07:00
Leroy Hopson
5e33e560f1
Move input handling into the Terminal node
...
Former-commit-id: d64800229f
2020-10-05 17:56:57 +07:00
Leroy Hopson
9d06d7c313
Update file format
...
Automatically updated by VSCode upon saving the files.
Former-commit-id: 0dabc56076
2020-10-05 17:56:57 +07:00
Leroy Hopson
e59db03d11
Rename 'modules' directory to 'external'
...
Former-commit-id: 8d3eec465f
2020-10-05 17:56:57 +07:00
Leroy Hopson
db6486e6f3
Add asciicast importer
...
Former-commit-id: ffa8561865
2020-10-05 17:56:57 +07:00
Leroy Hopson
ee6d7cb0fa
Refactor file structure
...
Former-commit-id: 3eecf504cf
2020-10-05 17:56:57 +07:00
Leroy Hopson
a022104230
Remove gdscript version and replace with native
...
Former-commit-id: f9474fe533
2020-10-05 17:56:55 +07:00