Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge marc branch #105

Merged
merged 53 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
7432b32
Merged Download, Run, and Stop buttons in drivechain panels to a sing…
8bitprodigy Feb 5, 2024
52bf7d9
Remove zCash params related functions
seriouscatsoserious Apr 5, 2024
a6528e1
Granular reset Ubuntu fix (#78)
seriouscatsoserious May 15, 2024
1bbd7dc
Enhancements: Set the project window size to (851, 600) and making ma…
wamiqurrehman093 Jun 15, 2024
b602b03
Enhancement: Updated the bottom menu size
wamiqurrehman093 Jun 15, 2024
c7e5d75
Enhancement: Added dialog box for description
wamiqurrehman093 Jun 15, 2024
2b37782
Enhancement: Restructuring the main scene hierarchy
wamiqurrehman093 Jun 15, 2024
17dcf7e
Enhancement: Added quotes dialog
wamiqurrehman093 Jun 15, 2024
8550690
Enhancement: Added application scene for new user interface
wamiqurrehman093 Jun 16, 2024
0545a5b
Enhancement: Added settings tab
wamiqurrehman093 Jun 17, 2024
df25864
Enhancement: Update to the display settings
wamiqurrehman093 Jun 18, 2024
6496de9
Enhancement: Added screen resolution options
wamiqurrehman093 Jun 18, 2024
79ebeab
Fix: Disabling screen resolution option button during fullscreen and …
wamiqurrehman093 Jun 18, 2024
6092916
Refactor: Updated the screen resolution code
wamiqurrehman093 Jun 18, 2024
1da0774
Enhancement: Added fast withdrawal tab and moved node styles to the t…
wamiqurrehman093 Jun 19, 2024
982a50d
Enhancement: Added black theme.
wamiqurrehman093 Jun 19, 2024
b39e846
Fix: Fixed buttons colors in the black theme.
wamiqurrehman093 Jun 19, 2024
3a9a13d
Enhancement: Added theme toggles.
wamiqurrehman093 Jun 19, 2024
453ac1e
Enhancement: Added check icons on theme option buttons
wamiqurrehman093 Jun 19, 2024
a74f548
Enhancement: Added node panel
wamiqurrehman093 Jun 19, 2024
c7d1f01
Enhancement: Updates to the nodes.
wamiqurrehman093 Jun 19, 2024
e78f476
Fix: Making the black theme default.
wamiqurrehman093 Jun 20, 2024
911f206
Enhancement: Moving download button closer to the node title and maki…
wamiqurrehman093 Jun 20, 2024
a4a18ca
Enhancement: Added styles to the vertical scroll bars and updated the…
wamiqurrehman093 Jun 20, 2024
f8ea8d6
Enhancement: Set focus mode to none for node buttons
wamiqurrehman093 Jun 20, 2024
2b9c743
Disconnect wallet tool as it is currently not functional. Add tab fun…
Jul 10, 2024
4705c9d
Standardized font for the time being. Window resize functionality now…
Jul 12, 2024
3c3a02a
New ui with tabs. Connected frontend with necessary scripts for nodes…
Jul 16, 2024
7d5fb1d
New ui with tabs. Connected frontend with necessary scripts for nodes…
Jul 16, 2024
3532130
Added chain provider info for node panels
Jul 16, 2024
bf6f37d
greyed out blue theme and renamed media modifier
Jul 16, 2024
4f4b548
create wallet working on custom mac godot binary. unfinished frontend.
Jul 23, 2024
7a2782f
wallet creator working on mac binary. wallet info being written to wa…
Jul 23, 2024
0cafd50
Update CI
mplatt8 Jul 23, 2024
4b06252
Added quotes scrolling on the bottom. Added Fast Withdrawal updates. …
Jul 24, 2024
de7a325
starters
Jul 25, 2024
17fb67e
new settings icon and small change to FW script - still not functional
Jul 30, 2024
d4427c0
Remove .DS_Store and add it to .gitignore
Jul 30, 2024
96d1756
base chain dashboard update
Jul 30, 2024
df26d28
remove old create wallet files
Jul 31, 2024
73b00d0
create wallet text bug fix. create wallet also launches node panel
Jul 31, 2024
1276c1d
changed behavior when wallet is saved
Jul 31, 2024
1cb7261
Change build.yaml to build.yaml from ash/ci
mplatt8 Jul 30, 2024
a1af0f1
update CI to use Godot w/Bitcoin module
Ash-L2L Jul 29, 2024
d402594
Merge pull request #104 from LayerTwo-Labs/ash/ci
mplatt8 Jul 31, 2024
9e67d3c
reset everything bug
Jul 31, 2024
8031c6f
starter scripts now in drivechain_launcher data dir
Jul 31, 2024
82c681b
reset button cooldown
Jul 31, 2024
1734f38
changed fonts in some places as well as adjusted theme. fixed resolut…
Jul 31, 2024
bf2e0ce
crunchy bug fixed
Aug 1, 2024
31f7151
global rendering fix
Aug 1, 2024
3cdc6d2
icon resolution for node panel. removed double quote. swithced radio …
Aug 1, 2024
ba5a898
changed directory path for wallet restoration
Aug 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .github/scripts/godot_ci_cache.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#
# Fixes https://github.com/godotengine/godot/issues/77508
# original script source: https://gist.github.com/d6e/5ed21c37a8ac294db26532cc6af5c61c
#

import os
import subprocess
import time
import re
from pathlib import Path

# Set the path to your Godot project and Godot executable
GODOT_PROJECT_PATH = Path(".")
GODOT_EXECUTABLE = "godot" # or the path to your Godot executable
GODOT_LOG_FILE = Path("artifacts") / "godot_output.log" # Log file to store Godot output

print("Building godot cache...", flush=True)
start_time = time.time()

# Step 1: Recursively find all '.import' files and collect the expected imported file paths
expected_imported_files = set()
for import_file in GODOT_PROJECT_PATH.rglob('*.import'):
content = import_file.read_text()
matches = re.findall(r'dest_files=\["(res://\.godot/imported/.+?)"\]', content)
expected_imported_files.update(matches)

total_imports = len(expected_imported_files)
print(f"Found {total_imports} references to imported files...", flush=True)

# Step 2: Launch Godot in the background to start the import process
print("Starting Godot to import files...", flush=True)
GODOT_LOG_FILE.parent.mkdir(parents=True, exist_ok=True)
with GODOT_LOG_FILE.open("w") as log_file:
try:
godot_process = subprocess.Popen(
[GODOT_EXECUTABLE, "--path", str(GODOT_PROJECT_PATH), "--editor", "--headless"],
stdout=log_file,
stderr=subprocess.STDOUT
)
except Exception as e:
print(f"Failed to start Godot: {e}")
exit(1)

# Step 3: Continually check if the expected imported files exist
imported_folder = GODOT_PROJECT_PATH / ".godot/imported"
while expected_imported_files:
# Wait until the imported directory exists
if not imported_folder.exists():
print(f"Waiting for the imported directory to be created by Godot...")
time.sleep(1)
continue

for expected_path in list(expected_imported_files):
imported_file_path = GODOT_PROJECT_PATH / expected_path.replace("res://", "")
if imported_file_path.exists():
expected_imported_files.remove(expected_path)
imported_count = total_imports - len(expected_imported_files)
print(f"Imported {imported_count} / {total_imports} files...")
time.sleep(1) # Wait for a second before checking again

elapsed_time = time.time() - start_time
print(f"Imported all files in {elapsed_time:.2f} seconds.", flush=True)

# Step 4: Once all files have been imported, quit Godot
try:
print("Quitting Godot...", flush=True)
start_time = time.time()
godot_process.terminate()
godot_process.wait(timeout=10)

except subprocess.TimeoutExpired:
print("Godot did not terminate in a timely manner; killing the process.")
godot_process.kill()
finally:
elapsed_time = time.time() - start_time
print(f"Godot has been closed in {elapsed_time:.2f} seconds.", flush=True)

print("All files have been imported. Godot has been closed.")

118 changes: 115 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,127 @@ jobs:
fail-fast: false
matrix:
build: [macos, windows, linux]
include:
- build: linux
godot-bin: 'godot.linuxbsd.editor.x86_64.mono'
godot-template-bins: 'godot.linuxbsd.template_*'
godot-templates-dir: '/home/runner/.local/share/godot/export_templates/4.2.2.stable.mono'
- build: macos
godot-bin: 'godot.macos.editor.universal'
godot-template-bins: 'godot.macos.template_*'
godot-templates-dir: '/Users/runner/Library/Application Support/Godot/export_templates/4.2.2.stable'
# Windows build runs on Ubuntu
- build: windows
godot-bin: 'godot.linuxbsd.editor.x86_64.mono'
godot-template-bins: 'godot.windows.template_*'
godot-templates-dir: '/home/runner/.local/share/godot/export_templates/4.2.2.stable.mono'

steps:
- uses: actions/checkout@v3

- uses: chickensoft-games/setup-godot@v1
with:
version: 4.2.1
use-dotnet: false
version: 4.2.2
# When running on Linux, we have to use the .NET build, as this is
# the only custom build available from the CI
use-dotnet: ${{ matrix.build == 'linux' || matrix.build == 'windows' }}
include-templates: true

- name: Download Godot w/Bitcoin module
uses: robinraju/[email protected]
with:
repository: LayerTwo-Labs/godot-bitcoin-module
tag: v4.2.2-bitcoin
filename: ${{ matrix.godot-bin }}

- name: Download Godot templates w/Bitcoin module
uses: robinraju/[email protected]
with:
repository: LayerTwo-Labs/godot-bitcoin-module
tag: v4.2.2-bitcoin
filename: ${{ matrix.godot-template-bins }}

# FIXME: remove
- name: show files (linux / windows)
if: ${{ matrix.build == 'linux' || matrix.build == 'windows' }}
run: |
ls
echo 'TEMPLATES'
ls ${{ matrix.godot-templates-dir }}
echo 'VERSION TXT'
cat "${{ matrix.godot-templates-dir }}/version.txt"
echo $GODOT

# FIXME: remove
- name: show files (macos)
if: ${{ matrix.build == 'macos' }}
run: |
ls
#echo 'TEMPLATES'
#ls '/Users/runner/Library/Application Support/Godot/export_templates/4.2.2.stable'
#echo 'MACOS TEMPLATES'
#zipinfo -1 '/Users/runner/Library/Application Support/Godot/export_templates/4.2.2.stable/macos.zip'
#echo 'VERSION TXT'
#cat '/Users/runner/Library/Application Support/Godot/export_templates/4.2.2.stable/version.txt'
echo $GODOT

- name: Replace default templates with custom templates (linux)
if: ${{ matrix.build == 'linux' }}
run: |
rm "${{ matrix.godot-templates-dir }}/linux_debug.x86_64"
mv godot.linuxbsd.template_debug.x86_64.mono "${{ matrix.godot-templates-dir }}/linux_debug.x86_64"
rm "${{ matrix.godot-templates-dir }}/linux_release.x86_64"
mv godot.linuxbsd.template_release.x86_64.mono "${{ matrix.godot-templates-dir }}/linux_release.x86_64"

- name: Replace default templates with custom templates (macos)
if: ${{ matrix.build == 'macos' }}
run: |
# Temporary directory used to construct the zip file
TMP_ZIP_DIR=$(mktemp -d)
mkdir -p "${TMP_ZIP_DIR}/macos_template.app/Contents/MacOS"
mv "godot.macos.template_debug.universal" "${TMP_ZIP_DIR}/macos_template.app/Contents/MacOS/godot_macos_debug.universal"
mv "godot.macos.template_release.universal" "${TMP_ZIP_DIR}/macos_template.app/Contents/MacOS/godot_macos_release.universal"
zip --delete "${{ matrix.godot-templates-dir }}/macos.zip" "macos_template.app/Contents/MacOS/godot_macos_debug.universal"
zip --delete "${{ matrix.godot-templates-dir }}/macos.zip" "macos_template.app/Contents/MacOS/godot_macos_release.universal"
pushd "${TMP_ZIP_DIR}"
zip "${{ matrix.godot-templates-dir }}/macos.zip" "macos_template.app/Contents/MacOS/godot_macos_debug.universal"
zip "${{ matrix.godot-templates-dir }}/macos.zip" "macos_template.app/Contents/MacOS/godot_macos_release.universal"
popd

- name: Replace default templates with custom templates (windows)
if: ${{ matrix.build == 'windows' }}
run: |
rm "${{ matrix.godot-templates-dir }}/windows_debug_x86_64.exe"
mv "godot.windows.template_debug.x86_64.exe" "${{ matrix.godot-templates-dir }}/windows_debug_x86_64.exe"
rm "${{ matrix.godot-templates-dir }}/windows_debug_x86_64_console.exe"
mv "godot.windows.template_debug.x86_64.console.exe" "${{ matrix.godot-templates-dir }}/windows_debug_x86_64_console.exe"
rm "${{ matrix.godot-templates-dir }}/windows_release_x86_64.exe"
mv "godot.windows.template_release.x86_64.exe" "${{ matrix.godot-templates-dir }}/windows_release_x86_64.exe"
rm "${{ matrix.godot-templates-dir }}/windows_release_x86_64_console.exe"
mv "godot.windows.template_release.x86_64.console.exe" "${{ matrix.godot-templates-dir }}/windows_release_x86_64_console.exe"

# FIXME: remove
- name: show files (linux / windows)
if: ${{ matrix.build == 'linux' || matrix.build == 'windows' }}
run: |
ls
echo 'TEMPLATES'
ls ${{ matrix.godot-templates-dir }}

# FIXME: remove
- name: show files (macos)
if: ${{ matrix.build == 'macos' }}
run: |
ls
echo 'TEMPLATES'
ls '/Users/runner/Library/Application Support/Godot/export_templates/4.2.2.stable'
echo 'MACOS TEMPLATES'
zipinfo -1 '/Users/runner/Library/Application Support/Godot/export_templates/4.2.2.stable/macos.zip'

- name: Verify Setup
run: |
chmod +x ${{ matrix.godot-bin }}
mv ${{ matrix.godot-bin }} $GODOT
godot --version

- name: Import certificate to Keychain
Expand All @@ -46,11 +155,14 @@ jobs:
run: |
echo ${{ secrets.GODOT_MACOS_NOTARIZATION_API_KEY }} | base64 --decode > notarization_api_key.p8

# MUST be run before build
- name: Initialize godot cache
run: python3 .github/scripts/godot_ci_cache.py

- name: Export build
run: |
name="${{fromJSON('{"windows": "Windows Desktop", "macos": "macOS", "linux": "Linux/X11"}')[matrix.build] }}"
godot --headless --export-debug "$name" --verbose 2>&1 | tee build.log

env:
GODOT_MACOS_NOTARIZATION_API_KEY_ID:
${{ secrets.GODOT_MACOS_NOTARIZATION_API_KEY_ID }}
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@

# Built artifacts go here
build
.DS_Store
.DS_Store
File renamed without changes
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://5d2d4ed2y7p3"
path="res://.godot/imported/Mediamodifier-Design(2).svg-1aef0d334e1742f214effe500d577b0e.ctex"
path="res://.godot/imported/Mediamodifier-Design.svg-9d1e220925b1a876f5e5ee1468b72113.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://assets/Mediamodifier-Design(2).svg"
dest_files=["res://.godot/imported/Mediamodifier-Design(2).svg-1aef0d334e1742f214effe500d577b0e.ctex"]
source_file="res://assets/Mediamodifier-Design.svg"
dest_files=["res://.godot/imported/Mediamodifier-Design.svg-9d1e220925b1a876f5e5ee1468b72113.ctex"]

[params]

Expand Down
32 changes: 12 additions & 20 deletions assets/data/quotes.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,6 @@
"author": "Satoshi Nakamoto"
},
{
"quote": "Inflation is taxation without legislation.",
"author": "Milton Friedman"
},
{
"quote": "Used to the conditions of a capitalistic environment, the average American takes it for granted that every year business makes something new and better accessible to him. Looking backward upon the years of his own life, he realizes that many implements that were totally unknown in the days of his youth and many others which at that time could be enjoyed only by a small minority are now standard equipment of almost every household.",
"author": "Ludwig Von Mises"
},
{
"quote": "Poorly paid labor is inefficient labor, the world over.",
"author": "Henry George"
},
Expand All @@ -32,23 +24,23 @@
"author": "Henry Hazlitt"
},
{
"quote": "Nobody ever saw a dog make a fair and deliberate exchange of one bone for another with another dog. Nobody ever saw one animal by its gestures and natural cries signify to another, this is mine, that yours; I am willing to give this for that.",
"author": "Adam Smith"
"quote": "Ambition is common to all men; and those, who are unable to rise to distinction, are at least willing to reduce others to their own standard.",
"author": "William Godwin"
},
{
"quote": "Ambition is common to all men; and those, who are unable to rise to distinction, are at least willing to reduce others to their own standard.",
"author": "William Godwin"
"quote": "Organizations are permanently and randomly subject to decline and decay - no matter their institutional framework.",
"author": "Albert Hirschman"
},
{
"quote": "Organizations are permanently and randomly subject to decline and decay — no matter their institutional framework.",
"author": "Albert Hirschman"
"quote": "Monopolies don't innovate. The motto of any monopoly is: 'We don't care, because we don't have to'",
"author": "Marc Andreessen"
},
{
"quote": "Monopolies don't innovate. The motto of any monopoly is: 'We don't care, because we don't have to.'",
"author": "Marc Andreessen"
"quote": "It is self-deception to think that the status quo is going to be satisfactory for everyone forever. It's already not satisfactory for a lot of people",
"author": "David Deutsch"
},
{
"quote": "It is self-deception to think that the status quo is going to be satisfactory for everyone forever. It's already not satisfactory for a lot of people.",
"author": "David Deutsch"
}
]
"quote": "Ambition is common to all men; and those, who are unable to rise to distinction, are at least willing to reduce others to their own standard",
"author": "William Godwin"
},
]
Binary file added assets/fonts/Heartbit-Bold.otf
Binary file not shown.
33 changes: 33 additions & 0 deletions assets/fonts/Heartbit-Bold.otf.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[remap]

importer="font_data_dynamic"
type="FontFile"
uid="uid://4p264ejyt2im"
path="res://.godot/imported/Heartbit-Bold.otf-db3a57664727bf928878560e13701921.fontdata"

[deps]

source_file="res://assets/fonts/Heartbit-Bold.otf"
dest_files=["res://.godot/imported/Heartbit-Bold.otf-db3a57664727bf928878560e13701921.fontdata"]

[params]

Rendering=null
antialiasing=1
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}
Binary file added assets/fonts/LEMONMILK-Regular.otf
Binary file not shown.
33 changes: 33 additions & 0 deletions assets/fonts/LEMONMILK-Regular.otf.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[remap]

importer="font_data_dynamic"
type="FontFile"
uid="uid://c33ier0iywrki"
path="res://.godot/imported/LEMONMILK-Regular.otf-5b5c91141d93e3234211516e8b392368.fontdata"

[deps]

source_file="res://assets/fonts/LEMONMILK-Regular.otf"
dest_files=["res://.godot/imported/LEMONMILK-Regular.otf-5b5c91141d93e3234211516e8b392368.fontdata"]

[params]

Rendering=null
antialiasing=1
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}
Binary file added assets/fonts/ProRacing-7BZOD.otf
Binary file not shown.
Loading
Loading