Skip to content

Commit 6df36b6

Browse files
committed
feat: add new project script
1 parent 4286570 commit 6df36b6

6 files changed

Lines changed: 101 additions & 14 deletions

File tree

pilotlight/data/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
<h1 align="center">
3+
Untitled Pilot Light Project
4+
</h1>
5+
6+
<p align="center">Untitled project</p>
7+
8+
9+
## Information
10+
TBD
11+
12+
## Developer Notes
13+
TBD
14+
15+
## Folder Structure
16+
* <ins>docs</ins> - Contains documentation for the project.
17+
* <ins>scripts</ins> - Contains helper scripts for various things.
18+
* <ins>shaders</ins> - Contains shader code.
19+
* <ins>src</ins> - Contains source code for this project.
20+
* <ins>tests</ins> - Contains tests.
21+
22+
## License
23+
TBD

pilotlight/data/template_2d_app.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@ def __init__(self):
2727
def pl_app_load(self): # called on load
2828

2929
# mount directories used by the shader extension
30-
package_dir = os.path.dirname(os.path.abspath(pl.__file__))
31-
32-
plVfsI.mount_directory("/shaders", package_dir + "/shaders")
33-
plVfsI.mount_directory("/cache", str(Path.cwd()) + "/cache")
34-
plVfsI.mount_directory("/shader-temp", str(Path.cwd()) + "/shader-temp")
35-
plVfsI.mount_directory("/assets", str(Path.cwd()) + "/assets")
30+
file_directory = os.path.dirname(os.path.abspath(__file__))
31+
plVfsI.mount_directory("/shaders", file_directory + "/../shaders")
32+
plVfsI.mount_directory("/cache", file_directory + "/../cache")
33+
plVfsI.mount_directory("/shader-temp", file_directory + "/../shader-temp")
34+
plVfsI.mount_directory("/assets", file_directory + "/../assets")
3635

3736
# create & show the OS window
3837
window_desc = plWindowDesc()
@@ -67,7 +66,7 @@ def pl_app_load(self): # called on load
6766
tFontConfig.uHOverSampling = 1
6867
tFontConfig.uVOverSampling = 1
6968
tFontConfig.ptRanges = [tFontRange]
70-
self.ptFont = plDrawI.add_font_from_file_ttf(self.ptFontAtlas, tFontConfig, "/assets/fonts/Cousine-Regular.ttf");
69+
self.ptFont = plDrawI.add_font_from_file_ttf(self.ptFontAtlas, tFontConfig, "/assets/core/fonts/Cousine-Regular.ttf");
7170

7271
self.drawlist = plDrawI.request_2d_drawlist()
7372
self.ptFGLayer = plDrawI.request_2d_layer(self.drawlist)

pilotlight/data/template_3d_app.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,11 @@ def __init__(self):
2929
def pl_app_load(self): # called on load
3030

3131
# mount directories used by the shader extension
32-
package_dir = os.path.dirname(os.path.abspath(pl.__file__))
33-
34-
plVfsI.mount_directory("/shaders", package_dir + "/shaders")
35-
plVfsI.mount_directory("/cache", str(Path.cwd()) + "/cache")
36-
plVfsI.mount_directory("/shader-temp", str(Path.cwd()) + "/shader-temp")
37-
plVfsI.mount_directory("/assets", str(Path.cwd()) + "/assets")
32+
file_directory = os.path.dirname(os.path.abspath(__file__))
33+
plVfsI.mount_directory("/shaders", file_directory + "/../shaders")
34+
plVfsI.mount_directory("/cache", file_directory + "/../cache")
35+
plVfsI.mount_directory("/shader-temp", file_directory + "/../shader-temp")
36+
plVfsI.mount_directory("/assets", file_directory + "/../assets")
3837

3938
# Create window.
4039
window_desc = plWindowDesc()

pilotlight/data/template_gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
# directories
3+
.vs/
4+
.idea/
5+
out/
6+
shader-temp/
7+
cache/
8+
9+
# python
10+
scripts/__pycache__/
11+
src/__pycache__/
12+
13+
# misc
14+
.DS_Store

pilotlight/new.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import os
2+
import sys
3+
import shutil
4+
import glob
5+
6+
if len(sys.argv) <= 1:
7+
print("Pilot Light - New Project Script");
8+
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
9+
print("Usage: python -m pilotlight.new_project <name> [options]");
10+
print("\nOptions:");
11+
print(" -2d Generate 2D Project template");
12+
print(" -3d Generate 3D Project template");
13+
exit()
14+
15+
target_directory = ""
16+
file_directory = os.path.dirname(os.path.abspath(__file__))
17+
18+
newProject = True
19+
option_2d = True
20+
option_3d = False
21+
22+
target_directory = sys.argv[1]
23+
for i in range(2, len(sys.argv)):
24+
if sys.argv[i] == "-2d":
25+
option_2d = True
26+
elif sys.argv[i] == "-3d":
27+
option_3d = True
28+
else:
29+
pass
30+
31+
if os.path.isdir(target_directory):
32+
print("Project already exists")
33+
exit()
34+
35+
print("Generating New Project")
36+
37+
os.mkdir(target_directory)
38+
os.mkdir(target_directory + "/src")
39+
os.mkdir(target_directory + "/scripts")
40+
os.mkdir(target_directory + "/docs")
41+
os.mkdir(target_directory + "/tests")
42+
os.mkdir(target_directory + "/shader-temp")
43+
44+
shutil.copytree(file_directory + "/assets", target_directory + "/assets")
45+
shutil.copytree(file_directory + "/shaders", target_directory + "/shaders")
46+
shutil.copy(file_directory + "/data/template_gitignore", target_directory + "/.gitignore")
47+
shutil.copy(file_directory + "/data/README.md", target_directory + "/README.md")
48+
49+
if option_2d:
50+
shutil.copy(file_directory + "/data/template_2d_app.py", target_directory + "/src/app.py")
51+
elif option_3d:
52+
shutil.copy(file_directory + "/data/template_3d_app.py", target_directory + "/src/app.py")

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def setup_package():
3333

3434
metadata = dict(
3535
name='pilotlight', # Required
36-
version="0.1.20", # Required
36+
version="0.1.21", # Required
3737
author="Jonathan Hoffstadt", # Optional
3838
author_email="jonathanhoffstadt@yahoo.com", # Optional
3939
description='Pilot Light', # Required

0 commit comments

Comments
 (0)