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
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
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
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
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
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
ee6d7cb0fa
Refactor file structure
...
Former-commit-id: 3eecf504cf
2020-10-05 17:56:57 +07:00