Compare commits

14 Commits

Author SHA1 Message Date
fae2abf94e bomber imp 2025-04-12 13:32:36 +02:00
648e4a3dc4 bomber 2025-04-11 15:15:19 +02:00
95b2c825db map select 2025-04-11 01:25:01 +02:00
19fe3e3d13 fix: ass code l 2024-06-14 21:06:39 +03:00
a4d2684724 fix: ass code l 2024-06-14 20:50:55 +03:00
1349e92491 feat: add dialogue 2024-06-14 20:33:09 +03:00
60002df6e1 fix: player can select unavailable drone 2024-06-12 19:07:08 +03:00
c31d902074 alpha 2 2024-06-12 19:02:03 +03:00
7d18d380ab add noble as submodule 2024-06-12 18:46:49 +03:00
79702f4c8f remove noble 2024-06-12 18:41:38 +03:00
025880c358 redesign music and drone selection 2024-06-12 01:22:12 +03:00
43512c90c7 alpha 0.1 2024-06-10 01:50:27 +03:00
4d7f25c027 assemble minigame 2024-06-04 21:21:40 +03:00
2d7f65d7fb new cool backgroud 2024-06-03 21:15:23 +03:00
194 changed files with 4013 additions and 14415 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

3
.gitmodules vendored
View File

@@ -1,3 +1,6 @@
[submodule "Noble Engine"] [submodule "Noble Engine"]
path = source/libraries/noble path = source/libraries/noble
url = https://github.com/NobleRobot/NobleEngine.git url = https://github.com/NobleRobot/NobleEngine.git
[submodule "source/libraries/noble"]
path = source/libraries/noble
url = https://github.com/NobleRobot/NobleEngine.git

View File

@@ -28,7 +28,8 @@
], ],
"runtime.version": "Lua 5.4", "runtime.version": "Lua 5.4",
"workspace.library": [ "workspace.library": [
"/home/ut3usw/src/playdate-luacats", "/Users/oleksiiilienko/projects/playdate-luacats",
"/home/ut3usw/Projects/VSCode-PlaydateTemplate/source/libraries" "/Users/oleksiiilienko/Documents/fpv2/source/libraries",
"/Users/oleksiiilienko/Documents/fpv2/source"
] ]
} }

11
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "playdate",
"request": "launch",
"name": "Playdate: Debug",
"preLaunchTask": "${defaultBuildTask}"
}
]
}

View File

@@ -5,4 +5,8 @@
"Lua.runtime.nonstandardSymbol": ["+=", "-=", "*=", "/=", "//=", "%=", "<<=", ">>=", "&=", "|=", "^="], "Lua.runtime.nonstandardSymbol": ["+=", "-=", "*=", "/=", "//=", "%=", "<<=", ">>=", "&=", "|=", "^="],
"Lua.workspace.library": ["$PLAYDATE_SDK_PATH/CoreLibs"], "Lua.workspace.library": ["$PLAYDATE_SDK_PATH/CoreLibs"],
"Lua.workspace.preloadFileSize": 1000, "Lua.workspace.preloadFileSize": 1000,
} "playdate-debug.sdkPath": "/Users/oleksiiilienko/Developer/PlaydateSDK",
"playdate-debug.sourcePath": "/Users/oleksiiilienko/Documents/fpv2/source",
"playdate-debug.outputPath": "/Users/oleksiiilienko/Documents/fpv2/builds",
"playdate-debug.productName": "FPV Game"
}

32
.vscode/tasks.json vendored
View File

@@ -3,6 +3,26 @@
// for the documentation about the tasks.json format // for the documentation about the tasks.json format
"version": "2.0.0", "version": "2.0.0",
"tasks": [ "tasks": [
{
"type": "pdc",
"problemMatcher": ["$pdc-lua", "$pdc-external"],
"label": "Playdate: Build"
},
{
"type": "playdate-simulator",
"problemMatcher": ["$pdc-external"],
"label": "Playdate: Run"
},
{
"label": "Playdate: Build and Run",
"dependsOn": ["Playdate: Build", "Playdate: Run"],
"dependsOrder": "sequence",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{ {
"label": "Invoke Build and Run script", "label": "Invoke Build and Run script",
"type": "shell", "type": "shell",
@@ -29,6 +49,12 @@
"build" "build"
] ]
}, },
"osx": {
"command": "${workspaceFolder}/build_and_run_mac.sh",
"args": [
"build"
]
},
"presentation": { "presentation": {
"showReuseMessage": false, "showReuseMessage": false,
"reveal": "always", "reveal": "always",
@@ -62,6 +88,12 @@
"run" "run"
] ]
}, },
"osx": {
"command": "${workspaceFolder}/build_and_run_mac.sh",
"args": [
"run"
]
},
"presentation": { "presentation": {
"showReuseMessage": false, "showReuseMessage": false,
"reveal": "always", "reveal": "always",

View File

@@ -2,7 +2,7 @@
## TODO: ## TODO:
- [ ] Menu audio - [x] Menu audio
- [x] Tags, zOffset from constants - [x] Tags, zOffset from constants
- [ ] Add global game state (?) - [ ] Add global game state (?)
- [x] Add inertia to the player - [x] Add inertia to the player

145
build_and_run_mac.sh Executable file
View File

@@ -0,0 +1,145 @@
#!/usr/bin/env bash
export PLAYDATE_SDK_PATH="/Users/oleksiiilienko/Developer/PlaydateSDK"
# Check for color by variable and tput command
if [[ -z $NOCOLOR && -n $(command -v tput) ]]; then
RED=$(tput setaf 1)
CYN=$(tput setaf 6)
YEL=$(tput setaf 3)
RST=$(tput sgr0)
fi
function display_help() {
printf "%s\n\n" "${0} build|run|-h|--help|"
printf "%-16s\n" "build: Builds the project and runs the Simulator"
printf "%-16s\n" "run : Skips building the project and runs the Simulator"
printf "\n"
printf "%s\n\n" "Set NOCOLOR=1 to disable terminal coloring"
exit 0
}
# We don't need fancy flags/operators for two commands
case $1 in
"build")
BUILD=1
;;
"run")
BUILD=0
;;
*)
display_help
exit 1
;;
esac
# Set some paths
BUILD_DIR="./builds"
SOURCE_DIR="./source"
PDX_PATH="${BUILD_DIR}/$(basename $(pwd)).pdx"
# Logging functions
function log() {
printf "%s\n" "${CYN}>> $1${RST}"
}
function log_warn() {
printf "%s\n" "${YEL}>! $1${RST}"
}
function log_err() {
printf "%s\n >> %s\n" "${RED}!! ERROR !!" "$1${RST}"
}
function check_pdxinfo() {
if [[ -f ./source/pdxinfo ]]; then
if grep "com.organization.package" ./source/pdxinfo 2>&1 >/dev/null; then
log_warn "PDXINFO NOTICE:"
log_warn "Don't forget to change your unique project info in 'source/pdxinfo': 'bundleID', 'name', 'author', 'description'."
log_warn "It's critical to change your game bundleID, so there will be no collisions with other games, installed via sideload."
log_warn "Read more about pdxinfo here: https://sdk.play.date/Inside%20Playdate.html#pdxinfo"
fi
fi
}
function chk_err() {
# Check for errors in last process and bail if needed
if [[ $? > 0 ]]; then
log_err "There was an issue with the previous command; exiting!"
exit 1
fi
}
function check_close_sim() {
# Check if we have 'pidof'
PIDOF=$(command -v pidof2)
# Prefer 'pidof'; use ps if not
if [[ -n $PIDOF ]]; then
SIMPID=$($PIDOF "PlaydateSimulator")
if [[ -n $SIMPID ]]; then
log "Found existing Simulator, closing..."
kill -9 $SIMPID
chk_err
fi
else
SIMPID=$(ps aux | grep PlaydateSimulator | grep -v grep | awk '{print $2}')
if [[ -n $SIMPID ]]; then
log "Found existing Simulator, closing..."
kill -9 $SIMPID
chk_err
fi
fi
}
# Create build dir
function make_build_dir() {
if [[ ! -d "${BUILD_DIR}" ]]; then
log "Creating build directory..."
mkdir -p "${BUILD_DIR}"
chk_err
fi
}
# Clean build dir
function clean_build_dir() {
if [[ -d "${BUILD_DIR}" ]]; then
log "Cleaning build directory..."
rm -rfv "${BUILD_DIR}/*"
chk_err
fi
}
# Compile the PDX
function build_pdx() {
if [[ $BUILD == 1 ]]; then
log "Building PDX with 'pdc'..."
$PLAYDATE_SDK_PATH/bin/pdc -sdkpath "${PLAYDATE_SDK_PATH}" "${SOURCE_DIR}" "${PDX_PATH}"
chk_err
fi
}
# Run the PDX with Simulator
function run_pdx() {
if [[ -d "${PDX_PATH}" ]]; then
log "Running PDX with Simulator..."
open -a "$PLAYDATE_SDK_PATH/bin/Playdate Simulator.app" "${PDX_PATH}"
else
log_err "PDX doesn't exist! Please 'build' the project first!"
fi
}
#### MAIN SCRIPT ####
if [[ $BUILD == 1 ]]; then
log "Attempting a build and run of PDX..."
make_build_dir
clean_build_dir
check_pdxinfo
build_pdx
check_close_sim
run_pdx
else
log "Attempting to run PDX: ${PDX_PATH}..."
check_close_sim
run_pdx
fi

BIN
source/.DS_Store vendored Normal file

Binary file not shown.

BIN
source/assets/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
source/assets/bg_bomber.psd Normal file

Binary file not shown.

View File

@@ -0,0 +1,47 @@
--metrics={"baseline":7,"xHeight":0,"capHeight":0,"pairs":{},"left":[],"right":[]}
datalen=1204
data=iVBORw0KGgoAAAANSUhEUgAAADgAAAAwCAYAAABE1blzAAAAAXNSR0IArs4c6QAAA0BJREFUaEPdWdtyqzAQa/7/o9uBqVMhpNUaCE17njr22uxVknMeHz//PuHv8eeD1tAG99TZ5eiwSfvjM2w3c176zxcop5XNchnbumQs62y/BDQccj7gGXc++f9Ag+EIZ55thnOpghiY647hOAaLa84/7jC+57mvLmDHuhXExLgKuQ5xgY47UwfYfVcddTFnWVW6qhSPuEsk2rnKsH/Kbr0/9bBrV25TlUG06VQAA+Nx6Z7fdUhnjhzCdVASMy1AegNU6juXoaj6+L9YSxlKVZrpgG7CqnZXc4yAtttXIFMNeYWCCUU7ASYhkVCYfd8oDRzsNkp9E75FMRIEVZCVeEj3t1EUCbSiBeY5ViUIGKxwVJCO6CsebKG0kldKWqUMqjlwEo0DTNzpFJHiUW7xJw9yxlW7pBnrnHEtunMMDF0gSSisd6oKYpvuhpY8vBJFXSW5OxxWSJ7tzEcH/a6yUUL71N3dCqjsJo5UgCWz/L1YfSO1sMKA1b+uFu1oQdUNqSIMXgn0+D70S9IME73KlBK+HZ7kCvLsnN1nlJa0pgJUQ8yc4wJkUKqUkso+82m3AywL/HYFZ75fKS2cwU3H3T2DSUi/bAYtCjUQzp11KOqo6aUoeopr3vlwJ5sO/RwPOrqoKnqY51KHVQFWYlZBNK8pRK1oqAIR9VpRL5CdtDwSIPMiU0hF+GjrzrmnU0qA3GcUrQg8IW63gq4zrli3FUzvPSWReAbVrB7lua4AcX495z1VRVWU17jtWFWoVnSasiMV8f6oqHBeuu8xbAPV4mnfzVLiza5/GwxwIPPO1Dbl21UVrNRMxaPYYmd40vLo7AzuUAp+NkTQ4TmsNOgV6Gln+ijKVXTCLdSduW6gXGk+t9mv4Fh9cKaCTn0ovqxQlYWF+hVguoLpUkcfjKDyZwTxX9qJhyuqcepoXXcz2MnoTIXTTCatiSDGyefgZYvOoGCaKcWDTM4OkNT8qrHg8xFFp7jlLxlXYvsoL6Uq3Jqfq2mCnXf8d1uQCmQcDDvkdK8IBRy3BYbtxwCgUCqhWGf/9uAQidwrWqGVI2qscIWktwbancEOj6mXydvNoKqCe3Gkl4gag1urp8j2dgde/cEvnycmPQiDA1YAAAAASUVORK5CYII=
width=8
height=8
tracking=1
0 8
1 8
2 8
3 8
4 8
5 8
6 8
7 8
8 8
9 8
space 8
<EFBFBD> 8
A 8
B 8
C 8
D 8
E 8
F 8
G 8
H 8
I 8
J 8
K 8
L 8
M 8
N 8
O 8
P 8
Q 8
R 8
S 8
T 8
U 8
V 8
W 8
X 8
Y 8
Z 8

View File

@@ -0,0 +1,47 @@
--metrics={"baseline":7,"xHeight":0,"capHeight":0,"pairs":{},"left":[],"right":[]}
datalen=1136
data=iVBORw0KGgoAAAANSUhEUgAAADgAAAAwCAYAAABE1blzAAAAAXNSR0IArs4c6QAAAw1JREFUaEPlV1ty4zAMa+5/6HaaRhkGxoOSnTiZ9qPdtWRTJEEAunz9/Xzf/tY/F/Js7MO19H5aH6HqvhGDvTv2uz3Xtd9feGgWBItQE2RJ12dpnSU3zlbjsoKr9XtMTBCrxRKpwWMAUkD3Tio4Q5hC1XUvS5AFwSqnamIRHAQxYYUohRoF4Q1EK67TrK3Mp4P1bzycJ1XEVJCH9dqtDu6PSpzNKOE0yhHTCXZZVM3nLpZrMnViYbnuYMAq+nHPEKKYQNSZ2wupwjOFqfNY30vjQc+uGHNGx7o610lSaXDSQyzKgw5i4FWaTuKfEmSHrAhK8kXjK8t1hBVTWsgSRcSs6vPGCHSqvgJB6y4gQzW/yTLi2WMH0xAnJ9EploIpJuOkpxqS6pCWE+zo5BEs6jrpRilatTT8r1wfRKOkYvosHZ2zFRJ3SeZrlRVLCHHwVbedO8ENtkpsKnWmCD37BtI8Cvee+C3DvydAlYFaAAYvt672q++Pju9KkIl/uu5sNKg8QJg7inc66WJQt/NuHVSFcC7H+tVnJMi0ybHi0yE6w2IMIk6U8bbC5obFr4XfzaLT2vJJLyRTrTqA5rhDMF2rxzyoc0rTTkaZ65a5Fd1lBUmsnDQ0ych1vaUlN7cyE5DJzDhQ53bS0dWnJDhz43CuRdE+86KrLHvvYLJhKKCdDnSMgoI8fr+bIMa8fp/p4FEzOGPPcK+DH3MsUmfVbUK5dNyPLMuqmDruWHP2trPhFCW8nyR19qyuA6qL44Pd9a7T6c4kWkE7o4r6UbeUIeh4WTWLlTHrzI0ZY+PgmJma7mclqGDTYcTVBKmZOCLBZNZZ1Wm1y0PHqqwAddQe/t1lKTWriqScIXBwx/mq/+84l1q4uw5iRbrCvmLdViDaJRU6s9gZNdjIhEguzu1jF5BQGMQdMtiaNBX/SgeZruHwsplIOneqaZhJQBWAeUM216ckymau6x07bHhKUhsqvT1gppfpFSMJRedvkyB1AeR0iuYdfE9NsjODq07EdfplSc8kqCD89iz6smqeEegH9dmYQMkYMS4AAAAASUVORK5CYII=
width=8
height=8
tracking=1
0 8
1 8
2 8
3 8
4 8
5 8
6 8
7 8
8 8
9 8
space 8
<EFBFBD> 8
A 8
B 8
C 8
D 8
E 8
F 8
G 8
H 8
I 8
J 8
K 8
L 8
M 8
N 8
O 8
P 8
R 8
Q 8
S 8
T 8
U 8
V 8
W 8
X 8
Y 8
Z 8

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,408 @@
--metrics={"baseline":8,"xHeight":0,"capHeight":0,"pairs":{"Fc":[-2,1],"Fe":[-2,1],"Fo":[-2,1],"Fm":[-2,1],"Fn":[-2,1],"Fr":[-2,1],"Fu":[-2,1],"Fw":[-2,1],"Jc":[-1,1],"Je":[-1,1],"Jo":[-1,1],"Jm":[-1,1],"Jn":[-1,1],"Jr":[-1,1],"Ju":[-1,1],"Jw":[-1,1],"Tc":[-2,1],"Te":[-2,1],"To":[-2,1],"Tm":[-2,1],"Tn":[-2,1],"Tr":[-2,1],"Tu":[-2,1],"Tw":[-2,1],"Yc":[-1,1],"Ye":[-1,1],"Yo":[-1,1],"Ym":[-1,1],"Yn":[-1,1],"Yr":[-1,1],"<22>B":[-1,1],"<22>D":[-1,1],"<22>E":[-1,1],"<22>F":[-1,1],"<22>H":[-1,1],"<22>K":[-1,1],"<22>L":[-1,1],"<22>M":[-1,1],"<22>N":[-1,1],"<22>P":[-1,1],"<22>R":[-1,1],"<22>b":[-1,1],"<22>h":[-1,1],"<22>k":[-1,1],"<22>C":[-1,1],"<22>G":[-1,1],"<22>O":[-1,1],"<22>Q":[-1,1],"<22>U":[-1,1],"<22>W":[-1,1],"<22>l":[-1,1],"<22>c":[-1,1],"<22>e":[-1,1],"<22>o":[-1,1],"<22>m":[-1,1],"<22>n":[-1,1],"<22>r":[-1,1],"<22>u":[-1,1],"<22>w":[-1,1],"H<>":[-1,2],"M<>":[-1,2],"N<>":[-1,2],"d<>":[-1,2],"U<>":[-1,2],"V<>":[-1,2],"W<>":[-1,2],"aT":[-2,2],"aY":[-1,2],"a<>":[-1,2],"mT":[-2,2],"mY":[-1,2],"m<>":[-1,2],"nT":[-2,2],"nY":[-1,2],"n<>":[-1,2],"qT":[-2,2],"qY":[-1,2],"q<>":[-1,2],"gT":[-2,2],"gY":[-1,2],"g<>":[-1,2],"oT":[-2,2],"oY":[-1,2],"o<>":[-1,2],"wT":[-2,2],"w<>":[-1,2],"yT":[-2,2],"y<>":[-1,2],"A<>":[-1,0],"B<>":[-1,0],"C<>":[-1,0],"DI":[-1,0],"DT":[-1,0],"D<>":[-1,0],"E<>":[-1,0],"FJ":[-1,0],"Fa":[-3,0],"Fd":[-2,0],"Ff":[-1,0],"Fg":[-2,0],"Fj":[-4,0],"Fp":[-2,0],"Fq":[-2,0],"Fs":[-2,0],"Ft":[-1,0],"Fv":[-2,0],"Fx":[-2,0],"Fy":[-2,0],"Fz":[-2,0],"F<>":[-1,0],"G<>":[-1,0],"If":[-1,0],"Ig":[-1,0],"Iq":[-1,0],"Is":[-1,0],"It":[-1,0],"Iv":[-1,0],"Iy":[-1,0],"I<>":[-1,0],"JJ":[-1,0],"Ja":[-1,0],"Jd":[-1,0],"Jf":[-1,0],"Jg":[-1,0],"Jj":[-1,0],"Jp":[-1,0],"Jq":[-1,0],"Js":[-1,0],"Jt":[-1,0],"Jv":[-1,0],"Jx":[-1,0],"Jy":[-1,0],"Jz":[-1,0],"J<>":[-1,0],"Kf":[-1,0],"Kg":[-1,0],"Kq":[-2,0],"Ks":[-1,0],"Kt":[-1,0],"Kv":[-1,0],"Ky":[-1,0],"K<>":[-1,0],"LT":[-2,0],"LV":[-2,0],"LY":[-2,0],"Lf":[-1,0],"Lg":[-1,0],"Lq":[-4,0],"Ls":[-1,0],"Lt":[-1,0],"Lv":[-2,0],"Ly":[-1,0],"L<>":[-1,0],"O<>":[-1,0],"PJ":[-1,0],"Pa":[-1,0],"Pj":[-1,0],"P<>":[-1,0],"Q<>":[-1,0],"R<>":[-1,0],"S<>":[-1,0],"TJ":[-1,0],"Ta":[-2,0],"Td":[-2,0],"Tf":[-1,0],"Tg":[-2,0],"Tj":[-2,0],"Tp":[-2,0],"Tq":[-2,0],"Ts":[-2,0],"Tt":[-1,0],"Tv":[-2,0],"Tx":[-2,0],"Ty":[-2,0],"Tz":[-2,0],"T<>":[-1,0],"Xf":[-1,0],"Xg":[-1,0],"Xq":[-1,0],"Xs":[-1,0],"X<>":[-1,0],"YJ":[-1,0],"Ya":[-1,0],"Yd":[-1,0],"Yf":[-1,0],"Yg":[-1,0],"Yj":[-2,0],"Yq":[-1,0],"Ys":[-1,0],"Y<>":[-1,0],"Zf":[-1,0],"Zg":[-1,0],"Zq":[-1,0],"Zs":[-1,0],"Z<>":[-1,0],"bT":[-2,0],"bY":[-1,0],"bt":[-1,0],"b<>":[-1,0],"cT":[-2,0],"cY":[-1,0],"c<>":[-1,0],"eI":[-1,0],"eT":[-2,0],"eY":[-1,0],"e<>":[-1,0],"f<>":[-1,0],"hT":[-2,0],"hY":[-1,0],"ht":[-1,0],"h<>":[-1,0],"iT":[-1,0],"iV":[-1,0],"iY":[-1,0],"if":[-1,0],"ig":[-1,0],"iq":[-1,0],"is":[-1,0],"it":[-1,0],"iv":[-1,0],"iy":[-1,0],"i<>":[-1,0],"j<>":[-1,0],"kT":[-2,0],"kV":[-1,0],"kY":[-1,0],"kf":[-1,0],"kg":[-1,0],"kq":[-1,0],"ks":[-1,0],"kt":[-1,0],"kv":[-1,0],"ky":[-1,0],"k<>":[-1,0],"lT":[-1,0],"lV":[-1,0],"lY":[-1,0],"lf":[-1,0],"lg":[-1,0],"lq":[-1,0],"ls":[-1,0],"lt":[-1,0],"lv":[-1,0],"ly":[-1,0],"l<>":[-1,0],"pI":[-1,0],"pT":[-2,0],"pX":[-1,0],"pY":[-1,0],"pZ":[-1,0],"p<>":[-1,0],"rI":[-1,0],"rT":[-2,0],"rX":[-1,0],"rY":[-1,0],"rZ":[-1,0],"r<>":[-1,0],"sT":[-2,0],"sY":[-1,0],"ss":[-1,0],"st":[-1,0],"sv":[-1,0],"s<>":[-1,0],"tT":[-2,0],"t<>":[-1,0],"uT":[-2,0],"u<>":[-1,0],"vI":[-1,0],"vJ":[-1,0],"vT":[-2,0],"vZ":[-1,0],"va":[-1,0],"vj":[-1,0],"v<>":[-1,0],"xT":[-2,0],"xf":[-1,0],"x<>":[-1,0],"zT":[-2,0],"z<>":[-1,0],"<22>A":[-1,0],"<22>I":[-1,0],"<22>J":[-1,0],"<22>S":[-1,0],"<22>T":[-1,0],"<22>V":[-1,0],"<22>X":[-1,0],"<22>Y":[-1,0],"<22>Z":[-1,0],"<22>a":[-1,0],"<22>d":[-1,0],"<22>f":[-1,0],"<22>g":[-1,0],"<22>i":[-1,0],"<22>j":[-1,0],"<22>p":[-1,0],"<22>q":[-1,0],"<22>s":[-1,0],"<22>t":[-1,0],"<22>v":[-1,0],"<22>x":[-1,0],"<22>y":[-1,0],"<22>z":[-1,0],"<22><>":[-2,0]},"left":["BDEFHKLMNPRbhk","CGOQ","UWl","ceo","mnr","uw"],"right":["HMNd","UVW","amnq","go","wy"]}
datalen=2384
data=iVBORw0KGgoAAAANSUhEUgAAAFAAAABaCAYAAAAvitHLAAAAAXNSR0IArs4c6QAABrZJREFUeF7tW9F26zYMW/7/o3tPuiiHQUAClCwnTbuXrpZEiRAIwt56+e//f75uP8ePC/w+xvH5mOauz+JjnLgPxmYxqv1X15f4XA/KwLk+G0nEAzAA49y4WVzPAMku6RoD52cXx/aDu3/6FfNdOj8DMAMUE4usqQBSBxwgOJfJwFHVEdcwMqjzleN46DFZBa1uOUsoYzJjuyrhzjiTmYr9jChMBr5jRADjwlkAHTZUJTS73in76mIdiaE67ZbNTGKdEmeMdjVUaXjVoKJ8ZPNaJewmjQlXAHfY7IDBGLyTgRLAsk03LA6CWumUskOrGpW5haoRxvPb+1f2QNmBv3HwWzOdlemGskFYEqoCUKeq9V1mo8Wp1tMxl4GqicTxLoDMOqG1Gc0u/mR6zcCNF9QGKCBMYx8BoAteppGZ92TsyNiXdWwXvEwb8QxP8xwAFfscLUSQbZGG4LMMW5Gn0ga9C4BR51zDi4k5LGJAugSh8xwAHYY5N1zZnA6AlS9z5ADPsR1AdwMHxKoJxOSRTQgMNpk4Pytz93wtljoM3A3gkTZmAHkkiGX+DoCrJfzR638agEdUgyrlFibMP+2wCkexUJn0bB8H+Jmyf/p0XlkB5xBHAdURcudcak4F3lgbz3RnKX5QZZNYgFnPtQKwAmE29lLc6S+xjdMecQFLSRpnreJLBkYTi/8e93Y2aQmwkdiYsrq3cwHZHAvARi50qnPAWYFXsdV49Jnqgp1YD3mogA6w7U0hqFqvxtUZV9eX8Y8AUCXw0ePVdzSmf+NZ93MU6ghrXtQm3B521quzYQ5Ok0v3x0QYI9EjYUmwEolrzh5X58WKUCVenp/dlnqmAFTjrOujr9x9Aa67yBrQ/XwZ3av/dsCSHc9GYAYA3nyUj2zM6aAuw939W5gcYaRjAhWAmVy4AHQvFS+osz5jaNTC73juJlUnVSU7A9CPKmElouptQK0/G8CXNpEO01yb4wL4ahtTeWLLxny04d2VXPycpUQ+M9GxUzIWuQzsiHxHI9n5DjPyDoCOlah0kjWZ1e7fAXDmAu34ZwOIAu9cDlqHrOujq6gchg2Q+p/wI4ArZtZhIBpw1d3ZuPKZajzGPATgMxl4BoCM0W4JZy6gfFE4AkCnHPBVL3P6rFm6AKgm2Bmv3kQGZvc3EXVApVMdAEesd28i1QU/6LjDwNREhl2e3hHJmGJApsHqgtW4a2NcI/3EwF0e81fEzbpw9kmHmWlkKM5RDHmXcVUBLPeHv1SqSowBmoHsPHd08xCboXwcKZPMZ9ISdzWw0gfl53YzDJucMuts3PGx0wAqEX4nAB2vmQHILlo5kKc/NqR1DjTvbnQGA/GSGVuyc88Q4A4JlnBF79mNFIDsljONZK9q0VtWIO0Yo00EQWS/s1LpMLOjUzEuA3DH+Soj/VCQThNZ1UB3faU3DMRYEc6bjbrgaRvzKwzvriQzBjIKqwbj6CfLQ4m7yn11PcZvxXMAVM3D6YAVCK0Dk0Cr65cBlF7ntoPSkPjm4BhvW6jFH307AI45qooyLNL11evS0s2oulsYR8AwOXQIHRsVj2W9SjrdyynhBTyspRVICiDFUGWDyvg/AcClBJOPCSgfFQ7s8u4sd76cvJqBOwCMMWfi3y/AAbAjwJVNyYyqU8NOCTP9wsvPmoiro0/ru93SSfZXzWG1j11MAeKIdCdm1mWzy1b7q/MvjWetuvNWoRJQ48ouqfVqfAkgtdgFsNLB3QkwRnbcA5pjRg6l80tGutOlMs90VAlXyTslPtZjF2bm2zbSpc+5+SjXJ7HXuS5DMw3MLkHFj+NbAESKu1bEuqEDjez48OFYLzTKA/yXAZgdKANflcjMm0D2saLDwOgLVwhwz8/9mNBtIko3s87LjG6mq24jUevVeCTJn5FWtqQ7/i5vIqoMu3mdNv8PwEWo4yf9GCrrdEyjSo24LXA0FFNxm4bSW2dc+cBUbyOAOKmTQOcAlU1iFeEAoHyqajjMK7KO/eQ6zgCww9AZAEd8lUv0gMyUZzpcXuBsCccDdBuA87qHPtJh0C4AGQHu+WebVtKavWq5DWkHgJmhR3Y6IDN2ovE/HcCqiUStcZtUpwTdEsdzMNY/nc9lzWKz/9zlHQArka1o72pkpXtvewNdALMu6ehGtVdZ4l9fXzj+Dejlcumcf8slZF2Y+boMJIdh1RzJvCuACBZ7tgUhEdRhlAJIjVfibOX8kwB0LAYm/Qeg+dV4VwlLFr47AzsMckqeAYKvQxK0B+f6AU1EOf0jbEwL1HeZ/HIb8C5AzJ7jH4LivYj9MkczAAAAAElFTkSuQmCC
width=8
height=9
tracking=1
0 6
1 4
2 6
3 6
4 6
5 6
6 6
7 6
8 6
9 6
space 4
! 3
" 6
# 6
$ 6
% 6
& 6
' 3
( 4
) 4
* 6
+ 6
, 3
- 6
. 2
/ 5
: 2
; 3
< 5
= 5
> 5
? 6
@ 6
A 6
B 6
C 6
D 6
E 6
F 6
G 6
H 6
I 4
J 6
K 6
L 6
M 6
N 6
O 6
P 6
Q 6
R 6
S 6
T 6
U 6
V 6
W 6
X 6
Y 6
Z 6
[ 4
\ 5
] 4
^ 5
_ 6
` 3
a 6
b 6
c 6
d 6
e 6
f 6
g 6
h 6
i 3
j 6
k 6
l 3
m 6
n 6
o 6
p 6
q 6
r 6
s 6
t 6
u 6
v 6
w 6
x 6
y 6
z 6
{ 4
| 2
} 4
~ 6
<EFBFBD> 8
Fc -2
Fe -2
Fo -2
Fm -2
Fn -2
Fr -2
Fu -2
Fw -2
Jc -1
Je -1
Jo -1
Jm -1
Jn -1
Jr -1
Ju -1
Jw -1
Tc -2
Te -2
To -2
Tm -2
Tn -2
Tr -2
Tu -2
Tw -2
Yc -1
Ye -1
Yo -1
Ym -1
Yn -1
Yr -1
<EFBFBD>B -1
<EFBFBD>D -1
<EFBFBD>E -1
<EFBFBD>F -1
<EFBFBD>H -1
<EFBFBD>K -1
<EFBFBD>L -1
<EFBFBD>M -1
<EFBFBD>N -1
<EFBFBD>P -1
<EFBFBD>R -1
<EFBFBD>b -1
<EFBFBD>h -1
<EFBFBD>k -1
<EFBFBD>C -1
<EFBFBD>G -1
<EFBFBD>O -1
<EFBFBD>Q -1
<EFBFBD>U -1
<EFBFBD>W -1
<EFBFBD>l -1
<EFBFBD>c -1
<EFBFBD>e -1
<EFBFBD>o -1
<EFBFBD>m -1
<EFBFBD>n -1
<EFBFBD>r -1
<EFBFBD>u -1
<EFBFBD>w -1
H<EFBFBD> -1
M<EFBFBD> -1
N<EFBFBD> -1
d<EFBFBD> -1
U<EFBFBD> -1
V<EFBFBD> -1
W<EFBFBD> -1
aT -2
aY -1
a<EFBFBD> -1
mT -2
mY -1
m<EFBFBD> -1
nT -2
nY -1
n<EFBFBD> -1
qT -2
qY -1
q<EFBFBD> -1
gT -2
gY -1
g<EFBFBD> -1
oT -2
oY -1
o<EFBFBD> -1
wT -2
w<EFBFBD> -1
yT -2
y<EFBFBD> -1
A<EFBFBD> -1
B<EFBFBD> -1
C<EFBFBD> -1
DI -1
DT -1
D<EFBFBD> -1
E<EFBFBD> -1
FJ -1
Fa -3
Fd -2
Ff -1
Fg -2
Fj -4
Fp -2
Fq -2
Fs -2
Ft -1
Fv -2
Fx -2
Fy -2
Fz -2
F<EFBFBD> -1
G<EFBFBD> -1
If -1
Ig -1
Iq -1
Is -1
It -1
Iv -1
Iy -1
I<EFBFBD> -1
JJ -1
Ja -1
Jd -1
Jf -1
Jg -1
Jj -1
Jp -1
Jq -1
Js -1
Jt -1
Jv -1
Jx -1
Jy -1
Jz -1
J<EFBFBD> -1
Kf -1
Kg -1
Kq -2
Ks -1
Kt -1
Kv -1
Ky -1
K<EFBFBD> -1
LT -2
LV -2
LY -2
Lf -1
Lg -1
Lq -4
Ls -1
Lt -1
Lv -2
Ly -1
L<EFBFBD> -1
O<EFBFBD> -1
PJ -1
Pa -1
Pj -1
P<EFBFBD> -1
Q<EFBFBD> -1
R<EFBFBD> -1
S<EFBFBD> -1
TJ -1
Ta -2
Td -2
Tf -1
Tg -2
Tj -2
Tp -2
Tq -2
Ts -2
Tt -1
Tv -2
Tx -2
Ty -2
Tz -2
T<EFBFBD> -1
Xf -1
Xg -1
Xq -1
Xs -1
X<EFBFBD> -1
YJ -1
Ya -1
Yd -1
Yf -1
Yg -1
Yj -2
Yq -1
Ys -1
Y<EFBFBD> -1
Zf -1
Zg -1
Zq -1
Zs -1
Z<EFBFBD> -1
bT -2
bY -1
bt -1
b<EFBFBD> -1
cT -2
cY -1
c<EFBFBD> -1
eI -1
eT -2
eY -1
e<EFBFBD> -1
f<EFBFBD> -1
hT -2
hY -1
ht -1
h<EFBFBD> -1
iT -1
iV -1
iY -1
if -1
ig -1
iq -1
is -1
it -1
iv -1
iy -1
i<EFBFBD> -1
j<EFBFBD> -1
kT -2
kV -1
kY -1
kf -1
kg -1
kq -1
ks -1
kt -1
kv -1
ky -1
k<EFBFBD> -1
lT -1
lV -1
lY -1
lf -1
lg -1
lq -1
ls -1
lt -1
lv -1
ly -1
l<EFBFBD> -1
pI -1
pT -2
pX -1
pY -1
pZ -1
p<EFBFBD> -1
rI -1
rT -2
rX -1
rY -1
rZ -1
r<EFBFBD> -1
sT -2
sY -1
ss -1
st -1
sv -1
s<EFBFBD> -1
tT -2
t<EFBFBD> -1
uT -2
u<EFBFBD> -1
vI -1
vJ -1
vT -2
vZ -1
va -1
vj -1
v<EFBFBD> -1
xT -2
xf -1
x<EFBFBD> -1
zT -2
z<EFBFBD> -1
<EFBFBD>A -1
<EFBFBD>I -1
<EFBFBD>J -1
<EFBFBD>S -1
<EFBFBD>T -1
<EFBFBD>V -1
<EFBFBD>X -1
<EFBFBD>Y -1
<EFBFBD>Z -1
<EFBFBD>a -1
<EFBFBD>d -1
<EFBFBD>f -1
<EFBFBD>g -1
<EFBFBD>i -1
<EFBFBD>j -1
<EFBFBD>p -1
<EFBFBD>q -1
<EFBFBD>s -1
<EFBFBD>t -1
<EFBFBD>v -1
<EFBFBD>x -1
<EFBFBD>y -1
<EFBFBD>z -1
<EFBFBD><EFBFBD> -2

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,105 @@
--metrics={"baseline":5,"xHeight":0,"capHeight":0,"pairs":{},"left":[],"right":[]}
datalen=1708
data=iVBORw0KGgoAAAANSUhEUgAAAEYAAABQCAYAAACkoQMCAAAAAXNSR0IArs4c6QAABLlJREFUeF7tW9Fy2zAMW/7/o7PLVvVoGSBAym6dnPuSayRRJEgRsNw+/vz/eX59Pr4+48drDH2frcvsZbbHujFn3pfZ7a6jMbw2HoGjTV3AGHjo+/jdPK6SwBKkwB7rsv02YwOYl+EIklsxA3E3szFDqCpi5pnN4Sso7u8kz2MqwTtfZjBUhtGGWRazCmCgjj3s7IZ2oFqBXZGxxFgmsmMSgYpOHdFjWJBVP50eurPpnFlUsh//3Q0MSfENTBMYp1kpqq409CgdMu2kmqxLEjQ+VTFdYGbBNTe3jJarbNWZL+XICjCqAbPsK8ZyWTDTMzLwMAHup4BRwbNxVTGMQrsVmvnZ0lIKGGXUcQgJNaR645FQVaP8Pr3HdCtGrVsBXNk+ZLyK/CGbvoORG5hEx2TXAL+V3DOOWsnmykPkmaBVROHww2E01JQhEcT7GDRBCTGHrqvHtZRZIzste1ermFYQC+DQxDsXVY5WMXz7ntIp+ahxsipduTTb2K2WeUVqV8BanXt4pa0AsxrMpdffwJg6Bk3LnoY7Y4rpmM1sXXds9K4dI7P3LUgboIdBtj4TjWePIa1SvfTavGFUbPHacH4TEHVQZQyKqvDyj1VulojZv5jcbAzGoCqmS9XxOPx0pXUrZuPnrGOqGiHrByq71Qx3+4iichjDzUoJK11aT/yWc3fFmDqmcj9LNcDELlnzRY1y9J757Kt7o47+iTFsisR5iFTNCz3gjTVorZIF0acZjAgakgeZL6UxdR+DjCmNkVWSsjcDiqoEVcbhonGlYo5wRmkOtkdVGylBuatiBUymHej5NHqMclQ9krAjirSRagXw2N+sdOuYmiK6K0boGHbmlVZxekW1Ua7ScEWLMe2z+xPWihjLqPcoxmL+VMBGjTz77t+YYqWMec4EpioQs/mun5tDNQu86usHRoVOxWSqmAVaBcwVlLtOoyrG0THZtaHTg5jIU8dajcfjkvmBtA/954kat33g7Juub4FXK2t150t5/msb9RyCvOmsUU3UjdreWwHjUJ29mQkma/gOEcBGGv5RDY1Du87rk2rgTvZWaB4lK/PRkQ47m0x+x+DOAIaB1wpi8UUdPDUKGNVjnOqozrnUUao6//Hzz9IxMeusIV4a3LOAuXTQjnMOKzmNkj3vVNe67OLEtjTH1THoIUzpio5jXWCyo6v8hAQD/zYkRHQGfXZFowMaupZoxaAqpmVU6AoFTKZesyuO7A0maxk0PgXMCIJJaWdDdKSU8kXjTsWMvVjAzO4uvgorHamAj7TV6WVyjQJGNS65AZhweVDeUnh1MtFZoyqmY1OteZuKUccle6jLmrd6GERJWWXB0+h6zqZyNKPWFdpFlK58YXTdYlbn9UmXkplDLu2yJGWUG4+xulKZqX1j13nhpo4S0ynoMQLpjHl9drQdUDNA7Sp2BJ4TjGq47zAOK8Zhp7dgk2IGaHU6gBT3+ozpDjAD1XmuOu+ZgES0eilE5+aLglEPfCwgtQ6OP5/PWN7/bD8eDyeBhwKrKI1VC9IZjF1KQb2AiUDMvx8afWLMudpUma9WTBrblYCZSxf1ksoRy5SmTPiVgJHO/uSEK/aYn4z/8nuVGuPloznQwb/SelBv0W6ASwAAAABJRU5ErkJggg==
width=7
height=8
tracking=1
0 4
1 2
2 4
3 3
4 4
5 4
6 4
7 4
8 4
9 4
space 3
! 1
" 3
# 5
$ 4
% 3
& 5
' 2
( 2
) 2
* 4
+ 3
, 2
- 3
. 1
/ 3
: 1
; 2
< 3
= 3
> 3
? 4
@ 4
A 4
B 4
C 4
D 4
E 3
F 3
G 4
H 4
I 3
J 4
K 4
L 3
M 5
N 4
O 4
P 4
Q 4
R 4
S 4
T 3
U 4
V 4
W 5
X 5
Y 4
Z 3
[ 2
\ 3
] 2
^ 3
_ 4
` 2
a 4
b 4
c 3
d 4
e 4
f 2
g 4
h 4
i 1
j 2
k 3
l 1
m 5
n 4
o 4
p 4
q 4
r 3
s 4
t 2
u 4
v 4
w 5
x 4
y 4
z 4
{ 3
| 1
} 3
~ 4
<EFBFBD> 7

BIN
source/assets/images/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,5 +0,0 @@
-- These are example strings.
"menuResumeGame" = "Resume"
"menuNewGame" = "New Game"
"menuOptions" = "Options"
"menuCredits" = "Credits"

View File

@@ -1,5 +0,0 @@
-- These are example strings.
"menuResumeGame" = "サイカイ "
"menuNewGame" = "アタラシイゲーム"
"menuOptions" = "セッテイ"
"menuCredits" = "クレジット"

View File

@@ -1,26 +0,0 @@
title = 'Noble Engine API reference'
project = 'Noble Engine'
description = 'A li\'l game engine for Playdate.'
format = 'markdown'
no_lua_ref = true
wrap = true
no_space_before_args = true
backtick_references = true
dir = '../../.docs'
file = {
'../../',
exclude = {
'../../.lua',
'../../.luarocks',
'../../.docs'
}
}
style = "."
template = "."
examples = "../../templates"

View File

@@ -1,524 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Quicksand:300,700);
@import url(https://fonts.googleapis.com/css?family=Lato);
@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200;300;400;600;700;900&display=swap);
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
margin: 2em;
font-family: "Lato", arial, helvetica, geneva, sans-serif;
background-color: #ffcb1f;
color: #31302f;
}
code,
tt {
font-family: "Source Code Pro", monospace;
font-size: 1.1em;
letter-spacing: -1px;
font-weight: 600;
color: #056d8d;
}
span.types:before {
content: ": ";
}
span.types:after {
content: "";
}
.type,
.default,
.optional {
color: #74726e;
}
.default .value {
font-weight: bold;
}
.parameters {
list-style-type: none;
}
.parameters li {
margin-bottom: 10px;
line-height: 1.5em;
}
.parameter {
font-weight: 600;
color: #045771;
}
body, td, th {
font-size: .95em;
line-height: 1.2em;
}
p, ul {
margin: 10px 0 0 0px;
}
ul {
padding-left: 25px;
}
strong {
font-weight: bold;
}
em {
font-style: italic;
}
.logo {
width: 100%;
background-image: url("logo.png");
background-repeat: no-repeat;
background-position: center;
height: 150px;
}
.logo h1 {
display: none;
}
h1 {
font-family: 'Quicksand', sans-serif;
font-weight: bold;
color: #cf5a5a;
font-size: 2.5em;
margin: 20px 0 30px 0;
}
h2, h3, h4 {
font-family: 'Quicksand', sans-serif;
font-weight: 700;
margin: 15px 0 10px 0;
}
h2 {
font-size: 1.25em;
color: #cf5a5a;
}
h3 {
font-size: 1.15em;
}
h4 {
font-size: 1em;
}
.section-header {
margin-top: 50px;
padding: 10px;
padding-left: 15px;
margin-left: -25px;
border-radius: 50px;
border-left: 20px solid #cf5a5a;
background-color: #e9cfc8;
color: #31302f;
}
a:link {
font-weight: bold;
color: #cf5a5a;
text-decoration: none;
}
a:visited {
font-weight: bold;
color: #cf5a5a;
text-decoration: none;
}
a:link:hover {
text-decoration: underline;
}
hr {
background: #cf5a5a;
border-radius: 100px;
height: 6px;
margin: 60px 20%;
border: none;
}
blockquote {
margin-left: 3em;
}
ul {
list-style-type: none;
}
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
}
span.item-name {
background-color: #fbd350;
display: inline-block;
color: #31302f;
padding: 10px 20px;
border-radius: 25px;
border: 2px solid #bf9817;
font-size: 1em;
font-family: "Source Code Pro", monospace;
font-weight: 700;
letter-spacing: -1px;
}
pre {
background-color: #056d8d;
border: 2px solid #03475c;
-webkit-box-shadow: 0 0 10px 0 rgba(49, 48, 47, 0.5);
box-shadow: 0 0 10px 0 rgba(49, 48, 47, 0.5);
border-radius: 15px;
color: #f0ece3;
padding: 15px 20px;
margin: 10px 0 10px 0;
font-family: "Source Code Pro", monospace;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
overflow-x: auto;
width: 100%;
font-weight: 400;
}
pre .keyword {
color: #ffcb1f;
}
pre .string, pre .number {
color: #eb6e6e;
font-weight: bold;
}
pre .comment {
color: #b4b1aa;
}
pre.example {
font-size: .85em;
}
table.index td {
text-align: left;
vertical-align: top;
}
#container {
margin-left: auto;
margin-right: auto;
border-radius: 25px;
-webkit-box-shadow: 0 0 25px 0 rgba(49, 48, 47, 0.3);
box-shadow: 0 0 25px 0 rgba(49, 48, 47, 0.3);
overflow: hidden;
max-width: 1600px;
}
#product {
text-align: center;
height: 500px;
background-color: #31302f;
color: #f0ece3;
}
#product > :before {
content: 'Noble Engine';
}
#product big {
font-size: 2em;
}
#main {
background-color: #31302f;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
#navigation {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-negative: 0;
flex-shrink: 0;
-ms-flex-preferred-size: auto;
flex-basis: auto;
width: 275px;
padding: 0 10px;
overflow: hidden;
color: #f0ece3;
}
#navigation a:link, #navigation a:visited {
font-weight: normal;
}
#navigation .nav-module,
#navigation .nav-modules {
color: #31302f;
padding: 15px;
border-radius: 20px;
}
#navigation .nav-module a:link, #navigation .nav-module a:visited,
#navigation .nav-modules a:link,
#navigation .nav-modules a:visited {
color: #31302f;
}
#navigation .nav-module ul a:active, #navigation .nav-module ul a:hover, #navigation .nav-module ul .selected,
#navigation .nav-modules ul a:active,
#navigation .nav-modules ul a:hover,
#navigation .nav-modules ul .selected {
color: #f0ece3;
background-color: #cf5a5a;
padding: 5px 10px;
margin-left: -10px;
border-radius: 30px;
text-decoration: none;
}
#navigation .nav-module ul .selected,
#navigation .nav-modules ul .selected {
line-height: 2em;
margin-left: -28px;
padding-left: 28px;
border-radius: 0 30px 30px 0;
font-weight: bold;
}
#navigation .nav-module {
background-color: #eb6e6e;
margin: 0 -10px 20px 10px;
border-radius: 20px 0 0 20px;
}
#navigation .nav-module h2 {
background-color: #cf5a5a;
color: #f0ece3;
margin: 0;
}
#navigation .nav-module ul a:active, #navigation .nav-module ul a:hover {
color: #31302f;
background-color: #ffcb1f;
}
#navigation .nav-modules {
background-color: #f3e5bc;
margin: 0 10px 30px 10px;
padding-top: 5px;
}
#navigation h1 {
color: #eb6e6e;
line-height: 80%;
font-family: 'Quicksand', sans-serif;
font-weight: 900;
font-size: 32px;
padding-left: 20px;
padding-bottom: 20px;
}
#navigation h2 {
color: #31302f;
font-size: 1.1em;
background-color: #f0ece3;
padding: 5px 10px;
margin-right: 20px;
border-radius: 30px;
text-decoration: none;
}
#navigation ul {
font-size: 1em;
list-style-type: none;
margin: 1px 1px 10px 1px;
padding-left: 0px;
}
#navigation li {
display: block;
margin: 0px 0px 6px 12px;
padding-left: 0px;
}
#navigation li li a {
margin: 0px 3px 0px -1em;
}
#content {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-negative: 1;
flex-shrink: 1;
-ms-flex-preferred-size: auto;
flex-basis: auto;
min-width: 0;
padding: 2em;
padding-left: 3.5em;
border-left: 4px solid #cf5a5a;
-webkit-box-shadow: inset 0 0 50px 0 rgba(207, 90, 90, 0.25);
box-shadow: inset 0 0 50px 0 rgba(207, 90, 90, 0.25);
background-color: #f0ece3;
}
#about {
clear: both;
padding: 20px;
border-top: 2px solid #31302f;
background-color: #cf5a5a;
color: #f0ece3;
}
#about a:link, #about a:visited, #about a:hover, #about a:active {
color: #ffcb1f;
}
@media print {
body {
font: 12pt "Times New Roman", "TimeNR", Times, serif;
}
a {
font-weight: bold;
color: #1c4e68;
text-decoration: underline;
}
#main {
background-color: #ffffff;
border-left: 0px;
}
#container {
margin-left: 2%;
margin-right: 2%;
background-color: #ffffff;
}
#content {
padding: 1em;
background-color: #ffffff;
}
#navigation {
display: none;
}
pre.example {
font-family: "Andale Mono", monospace;
font-size: 10pt;
page-break-inside: avoid;
}
}
table.module_list {
border-width: 1px;
border-style: solid;
border-color: #b1e3fa;
border-collapse: collapse;
}
table.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #b1e3fa;
}
table.module_list td.name {
background-color: #e0f4fc;
min-width: 200px;
}
table.module_list td.summary {
width: 100%;
}
table.function_list {
border-width: 1px;
border-style: solid;
border-color: #b1e3fa;
border-collapse: collapse;
}
table.function_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #b1e3fa;
}
table.function_list td.name {
background-color: #e0f4fc;
min-width: 200px;
}
table.function_list td.summary {
width: 100%;
}
ul.nowrap {
overflow: auto;
white-space: nowrap;
}
dl.table dt,
dl.function dt {
padding-top: 1em;
}
dl.table dd dd,
dl.function dd {
padding-bottom: 30px;
margin: 10px 0 10px 20px;
border-bottom: 2px dotted #056d8d;
}
dl.table dd > :last-child,
dl.function > :last-child {
border-bottom: none;
}
dl.table h3,
dl.function h3 {
font-size: .95em;
}
/* stop sublists from having initial vertical space */
ul ul {
margin-top: 0px;
}
ol ul {
margin-top: 0px;
}
ol ol {
margin-top: 0px;
}
ul ol {
margin-top: 0px;
}
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
border: 2px solid #31302f;
border-bottom: 6px solid #31302f;
background-color: #cf5a5a;
color: #f0ece3;
}
/*# sourceMappingURL=ldoc.css.map */

File diff suppressed because one or more lines are too long

View File

@@ -1,299 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=$(ldoc.doc_charset)"/>
<head>
<title>$(ldoc.title)</title>
<link rel="stylesheet" href="$(ldoc.css)" type="text/css" />
<link rel="icon" href="favicon.ico">
</head>
<body>
<div id="container">
<div id="main">
# local no_spaces = ldoc.no_spaces
# local use_li = ldoc.use_li
# local display_name = ldoc.display_name
# local iter = ldoc.modules.iter
# local function M(txt,item) return ldoc.markup(txt,item,ldoc.plain) end
# --local nowrap = ldoc.wrap and '' or 'nowrap'
<!-- Menu -->
<div id="navigation">
<a href="../$(ldoc.output).html"><div class="logo">
<h1>$(ldoc.project)</h1>
</div></a>
# --------- contents of module -------------
# if module and not ldoc.no_summary and #module.items > 0 then
<div class="nav-module">
<h2>$(module.name)</h2>
<ul>
# for kind, items in module.kinds() do
# kind = kind:gsub("modules.", ""):gsub(" Functions", ""):gsub("%.", "\u{200B}.")
<h3>$(kind)</h3>
<ul>
# for item in items() do
# local subName = item.name
# if (item.name:sub(1, #module.name) == module.name) then
# subName = item.name:sub(#module.name+1, #item.name)
# elseif (module.name == "Noble") then
# subName = "." .. item.name
# end
<li><a href="#$(item.name)">$(subName)</a></li>
# end
</ul>
# end
</ul>
</div>
# end
# -------- contents of project ----------
# local this_mod = module and module.name
<div class="nav-modules">
# for kind, mods, type in ldoc.kinds() do
<div class="nav-kind">
# if ldoc.allowed_in_contents(type,module) then
<h3>$(kind)</h3>
<ul>
# for mod in mods() do
# local name = display_name(mod)
# if mod.name == this_mod then
<li><span class="selected">$(name)</span></li>
# else
<li><a href="$(ldoc.ref_to_module(mod))">$(name)</a></li>
# end
# end
</ul>
# end
</div>
# end
</div>
</div>
<div id="content">
# if ldoc.body then -- verbatim HTML as contents; 'non-code' entries
$(ldoc.body)
# elseif module then -- module documentation
<h1>$(module.name)</h1>
<p>$(M(module.summary,module))</p>
<p>$(M(module.description,module))</p>
# if module.tags.include then
$(M(ldoc.include_file(module.tags.include)))
# end
# if module.see then
# local li,il = use_li(module.see)
<h3>See</h3>
<ul>
# for see in iter(module.see) do
$(li)<a href="$(ldoc.href(see))">$(see.label)</a>$(il)
# end
</ul>
# end
# if module.usage then
# local li,il = use_li(module.usage)
<h3>Usage</h3>
# for usage in iter(module.usage) do
<pre class="example">$(ldoc.escape(usage))</pre>
# end
# end
# if module.info then
<h3>Info</h3>
<ul>
# for tag, value in module.info:iter() do
<li><strong>$(tag)</strong>: $(M(value,module))</li>
# end
</ul>
# end
<hr/>
# --- currently works for both Functions and Tables. The params field either contains
# --- function parameters or table fields.
# local show_return = not ldoc.no_return_or_parms
# local show_parms = show_return
# for kind, items in module.kinds() do
# local kitem = module.kinds:get_item(kind)
# local has_description = kitem and ldoc.descript(kitem) ~= ""
# kind = kind:gsub("modules.", ""):gsub(" Functions", "")
<h2 class="section-header $(has_description and 'has-description')"><a name="$(no_spaces(kind))"></a>$(kind)</h2>
<!-- $(M(module.kinds:get_section_description(kind),nil)) -->
# if kitem then
# if has_description then
<div class="section-description">
$(M(ldoc.descript(kitem),kitem))
</div>
# end
# if kitem.usage then
<h3>Usage</h3>
<pre class="example">$(ldoc.prettify(kitem.usage[1]))</pre>
# end
# end
<dl class="function">
# for item in items() do
<dt>
<a name = "$(item.name)"></a>
<span class="item-name">$(display_name(item))<span>
# if ldoc.prettify_files and ldoc.is_file_prettified[item.module.file.filename] then
<a style="float:right;" href="$(ldoc.source_ref(item))">line $(item.lineno)</a>
# end
</dt>
<dd>
$(M(ldoc.descript(item),item))
# if ldoc.custom_tags then
# for custom in iter(ldoc.custom_tags) do
# local tag = item.tags[custom[1]]
# if tag and not custom.hidden then
# local li,il = use_li(tag)
<h3>$(custom.title or custom[1])</h3>
<ul>
# for value in iter(tag) do
$(li)$(custom.format and custom.format(value) or M(value))$(il)
# end
# end
</ul>
# end
# end
# if show_parms and item.params and #item.params > 0 then
# local subnames = module.kinds:type_of(item).subnames
# if subnames then
<h3>$(subnames)</h3>
# end
<ul class="parameters">
# for parm in iter(item.params) do
# local param,sublist = item:subparam(parm)
# if sublist then
<li><span class="parameter">$(sublist)</span>$(M(item.params.map[sublist],item))
<ul>
# end
# for p in iter(param) do
# local name,tp,def = item:display_name_of(p), ldoc.typename(item:type_of_param(p)), item:default_of_param(p)
<li><span class="parameter">$(name)</span>
# if tp ~= '' then
<span class="types">$(tp)</span>
# end
# if def == true then
<span class="optional">(optional)</span>
# elseif def then
<span class="default">= <span class="value">$(def)</span> (default)</span>
# end
# if item:readonly(p) then
<em>readonly</em>
# end
<br/>
$(M(item.params.map[p],item))
</li>
# end
# if sublist then
</ul>
</li>
# end
# end
</ul>
# end
# if show_return and item.retgroups then local groups = item.retgroups
<h3>Returns</h3>
# for i,group in ldoc.ipairs(groups) do local li,il = use_li(group)
<ol>
# for r in group:iter() do local type, ctypes = item:return_type(r); local rt = ldoc.typename(type)
$(li)
# if rt ~= '' then
<span class="types">$(rt)</span>
# end
$(M(r.text,item))$(il)
# if ctypes then
<ul>
# for c in ctypes:iter() do
<li><span class="parameter">$(c.name)</span>
<span class="types">$(ldoc.typename(c.type))</span>
$(M(c.comment,item))
</li>
# end
</ul>
# end
# end
</ol>
# if i < #groups then
<h3>Or</h3>
# end
# end
# end
# if show_return and item.raise then
<h3>Raises</h3>
$(M(item.raise,item))
# end
# if item.see then
# local li,il = use_li(item.see)
<h3>See</h3>
<ul>
# for see in iter(item.see) do
$(li)<a href="$(ldoc.href(see))">$(see.label)</a>$(il)
# end
</ul>
# end
# if item.usage then
# local li,il = use_li(item.usage)
<h3>Usage</h3>
# for usage in iter(item.usage) do
<pre class="example">$(ldoc.prettify(usage))</pre>
# end
# end
</dd>
# end -- for items
</dl>
# end
# else -- if module; project-level contents
# if ldoc.description then
<h2>$(M(ldoc.description,nil))</h2>
# end
# if ldoc.full_description then
<p>$(M(ldoc.full_description,nil))</p>
# end
# for kind, mods in ldoc.kinds() do
<h2>$(kind)</h2>
# kind = kind:lower()
<table class="module_list">
# for m in mods() do
<tr>
<td class="name" $(nowrap)><a href="$(no_spaces(kind))/$(m.name).html">$(m.name)</a></td>
<td class="summary">$(M(ldoc.strip_header(m.summary),m))</td>
</tr>
# end
</table>
# end
# end -- if module
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<span><a href="https://github.com/NobleRobot/NobleEngine">Noble Engine</a> by Mark LaCroix, <a href="https://noblerobot.com">Noble Robot</a></span>
<span style="float:right;">
Documentation created using <a href="https://github.com/stevedonovan/LDoc">LDoc $(ldoc.version)</a>.
# if not module then
Last updated $(ldoc.updatetime)
# end
</span>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View File

@@ -1,443 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Quicksand:300,700);
@import url(https://fonts.googleapis.com/css?family=Lato);
@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200;300;400;600;700;900&display=swap);
$red: #cf5a5a;
$redBright: #eb6e6e;
$yellow: #ffcb1f;
$blue: #056d8d;
$white:#f0ece3;
$black:#31302f;
* {
box-sizing: border-box;
}
body {
margin: 2em;
font-family: "Lato", arial, helvetica, geneva, sans-serif;
background-color: $yellow;
color: $black;
}
code,
tt {
font-family: "Source Code Pro", monospace;
font-size: 1.1em;
letter-spacing: -1px;
font-weight: 600;
color: $blue;
}
span.types:before { content:": "; }
span.types:after { content:""; }
.type,
.default,
.optional {
color: ($black * 0.65) + ($white *0.35);
}
.default .value { font-weight: bold; }
.parameters {
list-style-type: none;
li {
margin-bottom: 10px;
line-height: 1.5em;
}
}
.parameter {
font-weight: 600;
color: $blue * 0.8;
}
body, td, th { font-size: .95em; line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;}
ul {
padding-left: 25px;
}
strong { font-weight: bold;}
em { font-style: italic;}
.logo {
h1 {
display: none;
}
width: 100%;
background-image: url('logo.png');
background-repeat: no-repeat;
background-position: center;
height: 150px;
}
h1 {
font-family: 'Quicksand', sans-serif;
font-weight: bold;
color: $red;
font-size: 2.5em;
margin: 20px 0 30px 0;
}
h2, h3, h4 {
font-family: 'Quicksand', sans-serif;
font-weight: 700;
margin: 15px 0 10px 0; }
h2 { font-size: 1.25em; color: $red; }
h3 { font-size: 1.15em; }
h4 { font-size: 1em; }
.section-header {
margin-top: 50px;
padding: 10px;
padding-left: 15px;
margin-left: -25px;
border-radius: 50px;
border-left: 20px solid $red;
background-color: ($white * 0.8) + ($red * 0.20);
color: $black;
}
a:link { font-weight: bold; color: $red; text-decoration: none; }
a:visited { font-weight: bold; color: $red; text-decoration: none; }
a:link:hover { text-decoration: underline; }
hr {
background: $red;
border-radius: 100px;
height: 6px;
margin: 60px 20%;
border: none;
}
blockquote { margin-left: 3em; }
ul { list-style-type: none; }
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
}
span.item-name {
background-color: ($white*0.25) + ($yellow*0.75);
display: inline-block;
color: $black;
padding: 10px 20px;
border-radius: 25px;
border: 2px solid $yellow*0.75;
//border-bottom: none;
//border-bottom: 4px solid $red*0.75;
font-size: 1em;
font-family: "Source Code Pro", monospace;
font-weight: 700;
letter-spacing: -1px;
}
pre {
background-color: $blue;
border: 2px solid $blue*0.65;
box-shadow: 0 0 10px 0 rgba($black, 0.5);
border-radius: 15px;
color: $white;
padding: 15px 20px;
margin: 10px 0 10px 0;
//font-family: "Andale Mono", monospace;
font-family: "Source Code Pro", monospace;
//font-size: 20px !important;
tab-size: 4;
overflow-x: auto;
width: 100%;
font-weight: 400;
.keyword {
color: $yellow;
}
.string, .number {
color: $redBright;
font-weight: bold;
}
.comment {
color: $white*0.75;
}
}
pre.example {
font-size: .85em;
}
table.index td { text-align: left; vertical-align: top; }
#container {
margin-left: auto;
margin-right: auto;
border-radius: 25px;
box-shadow: 0 0 25px 0 rgba($black, .3);
overflow: hidden;
max-width: 1600px;
}
#product {
text-align: center;
height: 500px;
background-color: $black;
color: $white;
> :before{
content: 'Noble Engine';
}
}
#product big {
font-size: 2em;
}
#main {
background-color: $black;
display: flex;
flex-direction: row;
}
#navigation {
flex-grow: 1;
flex-shrink: 0;
flex-basis: auto;
width: 275px;
padding: 0 10px;
overflow: hidden;
color: $white;
a:link, a:visited {
font-weight: normal;
}
.nav-module,
.nav-modules {
color: $black;
padding: 15px;
a:link, a:visited {
color: $black;
}
border-radius: 20px;
ul {
a:active, a:hover, .selected {
color: $white;
background-color: $red;
padding: 5px 10px;
margin-left:-10px;
border-radius: 30px;
text-decoration: none;
}
.selected{
line-height: 2em;
margin-left: -28px;
padding-left: 28px;
border-radius: 0 30px 30px 0;
font-weight: bold;
}
}
}
.nav-module {
background-color: $redBright;
margin: 0 -10px 20px 10px;
border-radius: 20px 0 0 20px;
h2 {
background-color: $red;
color: $white;
margin: 0;
}
ul {
a:active, a:hover {
color: $black;
background-color: $yellow;
}
}
}
.nav-modules {
background-color: ($white*0.8) + ($yellow*0.2);
margin: 0 10px 30px 10px;
padding-top: 5px;
}
h1 {
color: $redBright;
line-height: 80%;
font-family: 'Quicksand', sans-serif;
font-weight: 900;
font-size: 32px;
padding-left: 20px;
padding-bottom: 20px;
}
h2 {
color: $black;
font-size:1.1em;
background-color: $white;
padding: 5px 10px;
margin-right: 20px;
border-radius: 30px;
text-decoration: none;
}
ul {
font-size:1em;
list-style-type: none;
margin: 1px 1px 10px 1px;
padding-left: 0px;
}
li {
//font-size: 14px;
display: block;
margin: 0px 0px 6px 12px;
padding-left: 0px;
}
li li a {
margin: 0px 3px 0px -1em;
}
}
#content {
flex-grow: 1;
flex-shrink: 1;
flex-basis: auto;
min-width: 0; // For pre elements...
//margin-left: 14em;
padding: 2em;
padding-left:3.5em;
border-left: 4px solid $red;
box-shadow: inset 0 0 50px 0 rgba($red, 0.25);
background-color: $white;
}
#about {
clear: both;
padding: 20px;
border-top: 2px solid $black;
background-color: $red;
color:$white;
a:link, a:visited, a:hover, a:active {
color: $yellow;
}
}
@media print {
body {
font: 12pt "Times New Roman", "TimeNR", Times, serif;
}
a { font-weight: bold; color: #1c4e68; text-decoration: underline; }
#main {
background-color: #ffffff;
border-left: 0px;
}
#container {
margin-left: 2%;
margin-right: 2%;
background-color: #ffffff;
}
#content {
padding: 1em;
background-color: #ffffff;
}
#navigation {
display: none;
}
pre.example {
font-family: "Andale Mono", monospace;
font-size: 10pt;
page-break-inside: avoid;
}
}
table.module_list {
border-width: 1px;
border-style: solid;
border-color: #b1e3fa;
border-collapse: collapse;
}
table.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #b1e3fa;
}
table.module_list td.name { background-color: #e0f4fc; min-width: 200px; }
table.module_list td.summary { width: 100%; }
table.function_list {
border-width: 1px;
border-style: solid;
border-color: #b1e3fa;
border-collapse: collapse;
}
table.function_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #b1e3fa;
}
table.function_list td.name { background-color: #e0f4fc; min-width: 200px; }
table.function_list td.summary { width: 100%; }
ul.nowrap {
overflow:auto;
white-space:nowrap;
}
dl.table dt,
dl.function dt {
padding-top: 1em;
}
dl.table dd,
dl.function {
dd {
padding-bottom: 30px;
margin: 10px 0 10px 20px;
border-bottom: 2px dotted $blue;
}
> :last-child {
border-bottom: none;
}
}
dl.table h3,
dl.function h3 {
font-size: .95em;
}
/* stop sublists from having initial vertical space */
ul ul { margin-top: 0px; }
ol ul { margin-top: 0px; }
ol ol { margin-top: 0px; }
ul ol { margin-top: 0px; }
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
border: 2px solid $black;
border-bottom: 6px solid $black;
background-color: $red;
color: $white;
}

View File

@@ -1,485 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>Noble Engine API reference</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
<link rel="icon" href="favicon.ico">
</head>
<body>
<div id="container">
<div id="main">
<!-- Menu -->
<div id="navigation">
<a href="../index.html"><div class="logo">
<h1>Noble Engine</h1>
</div></a>
<div class="nav-module">
<h2>NobleScene</h2>
<ul>
<h3>Properties </h3>
<ul>
<li><a href="#noblescene.name">noblescene.name</a></li>
<li><a href="#noblescene.backgroundColor">noblescene.backgroundColor</a></li>
</ul>
<h3>Tables </h3>
<ul>
<li><a href="#noblescene.inputHandler">noblescene.inputHandler</a></li>
<li><a href="#noblescene.sprites">noblescene.sprites</a></li>
</ul>
<h3>Methods</h3>
<ul>
<li><a href="#noblescene:addSprite">noblescene:addSprite</a></li>
<li><a href="#noblescene:removeSprite">noblescene:removeSprite</a></li>
</ul>
<h3>Callbacks </h3>
<ul>
<li><a href="#noblescene:init">noblescene:init</a></li>
<li><a href="#noblescene:enter">noblescene:enter</a></li>
<li><a href="#noblescene:start">noblescene:start</a></li>
<li><a href="#noblescene:update">noblescene:update</a></li>
<li><a href="#noblescene:drawBackground">noblescene:drawBackground</a></li>
<li><a href="#noblescene:exit">noblescene:exit</a></li>
<li><a href="#noblescene:finish">noblescene:finish</a></li>
<li><a href="#noblescene:pause">noblescene:pause</a></li>
<li><a href="#noblescene:resume">noblescene:resume</a></li>
</ul>
</ul>
</div>
<div class="nav-modules">
<div class="nav-kind">
<h3>Classes</h3>
<ul>
<li><span class="selected">NobleScene</span></li>
<li><a href="../classes/NobleSprite.html">NobleSprite</a></li>
</ul>
</div>
<div class="nav-kind">
<h3>Modules</h3>
<ul>
<li><a href="../modules/Noble.html">Noble</a></li>
<li><a href="../modules/Noble.Animation.html">Noble.Animation</a></li>
<li><a href="../modules/Noble.Bonk.html">Noble.Bonk</a></li>
<li><a href="../modules/Noble.GameData.html">Noble.GameData</a></li>
<li><a href="../modules/Noble.Input.html">Noble.Input</a></li>
<li><a href="../modules/Noble.Menu.html">Noble.Menu</a></li>
<li><a href="../modules/Noble.Settings.html">Noble.Settings</a></li>
<li><a href="../modules/Noble.Text.html">Noble.Text</a></li>
<li><a href="../modules/Noble.Transition.html">Noble.Transition</a></li>
<li><a href="../modules/Ease.html">Ease</a></li>
</ul>
</div>
<div class="nav-kind">
<h3>Examples</h3>
<ul>
<li><a href="../examples/SceneTemplate.lua.html">SceneTemplate.lua</a></li>
</ul>
</div>
</div>
</div>
<div id="content">
<h1>NobleScene</h1>
<p>An abstract scene class.</p>
<p> Do not copy this file as a template for your scenes. Instead, your scenes will extend this class.
See <a href="../examples/SceneTemplate.lua.html">templates/SceneTemplate.lua</a> for a blank scene that you can copy and modify for your own scenes.
If you are using <a href="http://github.com/NobleRobot/NobleEngine-ProjectTemplate">NobleEngine-ProjectTemplate</a>,
see <code>scenes/ExampleScene.lua</code> for an implementation example.</p>
<h3>Usage</h3>
<pre class="example">YourSceneName = {}
class(&quot;YourSceneName&quot;).extends(NobleScene)
local scene = YourSceneName
</pre>
<hr/>
<h2 class="section-header "><a name="Properties"></a>Properties </h2>
<!-- -->
<dl class="function">
<dt>
<a name = "noblescene.name"></a>
<span class="item-name">noblescene.name<span>
</dt>
<dd>
The name of this scene. Optional.
If you do not set this value, it will take on the scene's <code>className</code>.
</dd>
<dt>
<a name = "noblescene.backgroundColor"></a>
<span class="item-name">noblescene.backgroundColor<span>
</dt>
<dd>
This is the background color of this scene.
</dd>
</dl>
<h2 class="section-header "><a name="Tables"></a>Tables </h2>
<!-- -->
<dl class="function">
<dt>
<a name = "noblescene.inputHandler"></a>
<span class="item-name">noblescene.inputHandler<span>
</dt>
<dd>
All scenes have a default inputHandler which is made active when the scene starts.
If you do not define your scene's <a href="../classes/NobleScene.html#noblescene.inputHandler">inputHandler</a>, it is <code>nil</code> and input is disabled when this scene
starts.
<h3>See</h3>
<ul>
<a href="../modules/Noble.Input.html#Noble.Input.setHandler">Noble.Input.setHandler</a>
</ul>
<h3>Usage</h3>
<pre class="example">YourSceneName.inputHandler = {
AButtonDown = <span class="keyword">function</span>()
// Your code here
<span class="keyword">end</span>,
AButtonHold = <span class="keyword">function</span>()
// Your code here
<span class="keyword">end</span>,
<span class="comment">-- ...
</span> <span class="comment">-- ...
</span>}
<span class="comment">-- OR...
</span><span class="comment">-- Use a non-scene-specific inputHandler, defined elsewhere.
</span>YourSceneName.inputHandler = somePreviouslyDefinedInputHandler
<span class="comment">-- OR...
</span><span class="comment">-- Reuse another scene's inputHandler.
</span>YourSceneName.inputHandler = SomeOtherSceneName.inputHandler</pre>
</dd>
<dt>
<a name = "noblescene.sprites"></a>
<span class="item-name">noblescene.sprites<span>
</dt>
<dd>
When you add a sprite to your scene, it is put in this table so the scene can keep track of it. </p>
<p> This is intended as <code>read-only</code>. You should not modify this table directly.
<h3>See</h3>
<ul>
<a href="../classes/NobleScene.html#noblescene:addSprite">addSprite</a>
</ul>
</dd>
</dl>
<h2 class="section-header "><a name="Methods"></a>Methods</h2>
<!-- -->
<dl class="function">
<dt>
<a name = "noblescene:addSprite"></a>
<span class="item-name">noblescene:addSprite(__sprite)<span>
</dt>
<dd>
Use this to add sprites to your scene instead of <code>playdate.graphics.sprite:add()</code>. </p>
<p> If your sprite is a <a href="../classes/NobleSprite.html#">NobleSprite</a>, using <code>NobleSprite:add()</code> will also call this method.</p>
<p> Sprites added with this method that are tracked by the scene. Any not manually removed before transitioning to another scene are automatically removed in <a href="../classes/NobleScene.html#noblescene:finish">finish</a>.
<h3>Parameters</h3>
<ul class="parameters">
<li><span class="parameter">__sprite</span>
<span class="types"><span class="type">playdate.graphics.sprite</span></span>
<br/>
The sprite to add to the scene.
</li>
</ul>
<h3>See</h3>
<ul>
<li><a href="../classes/NobleSprite.html#noblesprite:add">NobleSprite:add</a></li>
<li><a href="../classes/NobleScene.html#noblescene:removeSprite">removeSprite</a></li>
</ul>
</dd>
<dt>
<a name = "noblescene:removeSprite"></a>
<span class="item-name">noblescene:removeSprite(__sprite)<span>
</dt>
<dd>
Use this to remove sprites from your scene instead of <code>playdate.graphics.sprite:remove()</code>. </p>
<p> If your sprite is a <a href="../classes/NobleSprite.html#">NobleSprite</a>, using <code>NobleSprite:remove()</code> will also call this method.</p>
<p> Sprites not manually removed before transitioning to another scene are automatically removed in <a href="../classes/NobleScene.html#noblescene:finish">finish</a>.
<h3>Parameters</h3>
<ul class="parameters">
<li><span class="parameter">__sprite</span>
<span class="types"><span class="type">playdate.graphics.sprite</span></span>
<br/>
The sprite to add to the scene.
</li>
</ul>
<h3>See</h3>
<ul>
<li><a href="../classes/NobleSprite.html#noblesprite:remove">NobleSprite:remove</a></li>
<li><a href="../classes/NobleScene.html#noblescene:addSprite">addSprite</a></li>
</ul>
</dd>
</dl>
<h2 class="section-header "><a name="Callbacks"></a>Callbacks </h2>
<!-- -->
<dl class="function">
<dt>
<a name = "noblescene:init"></a>
<span class="item-name">noblescene:init()<span>
</dt>
<dd>
Implement this in your scene if you have code to run when your scene's object is created.
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">init</span>()
YourSceneName.super.<span class="function-name">init</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:enter"></a>
<span class="item-name">noblescene:enter()<span>
</dt>
<dd>
Implement if you want to run code as the transition to this scene begins, such as UI animation, triggers, etc.
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">enter</span>()
YourSceneName.super.<span class="function-name">enter</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:start"></a>
<span class="item-name">noblescene:start()<span>
</dt>
<dd>
Implement if you have code to run once the transition to this scene is complete. This method signifies the full activation of a scene. If this scene's <a href="../classes/NobleScene.html#noblescene.inputHandler">inputHandler</a> is defined, it is enabled now.
<h3>See</h3>
<ul>
<a href="../classes/NobleScene.html#noblescene.inputHandler">inputHandler</a>
</ul>
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">start</span>()
YourSceneName.super.<span class="function-name">start</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:update"></a>
<span class="item-name">noblescene:update()<span>
</dt>
<dd>
Implement to run scene-specific code on every frame while this scene is active.
<strong>NOTE:</strong> you may use coroutine.yield() here, because it only runs inside of playdate.update(), which is a coroutine.
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">update</span>()
YourSceneName.super.<span class="function-name">update</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:drawBackground"></a>
<span class="item-name">noblescene:drawBackground(__x, __y, __width, __height)<span>
</dt>
<dd>
Implement this function to draw background visual elements in your scene.
This runs when the engine need to redraw a background area.
By default it runs every frame and fills the background with self.backgroundColor. All arguments are optional.
Use <code>Graphics.sprite.setAlwaysRedraw(false)</code> after <code>Noble.new()</code> to optimize partial redraw.
<h3>Parameters</h3>
<ul class="parameters">
<li><span class="parameter">__x</span>
<br/>
</li>
<li><span class="parameter">__y</span>
<br/>
</li>
<li><span class="parameter">__width</span>
<br/>
</li>
<li><span class="parameter">__height</span>
<br/>
</li>
</ul>
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">drawBackground</span>(__x, __y, __width, __height)
YourSceneName.super.<span class="function-name">drawBackground</span>(self) <span class="comment">-- optional, invokes default behavior.
</span> <span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:exit"></a>
<span class="item-name">noblescene:exit()<span>
</dt>
<dd>
Implement this in your scene if you have "goodbye" code to run when a transition to another scene
begins, such as UI animation, saving to disk, etc.
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">exit</span>()
YourSceneName.super.<span class="function-name">exit</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:finish"></a>
<span class="item-name">noblescene:finish()<span>
</dt>
<dd>
Implement this in your scene if you have code to run when a transition to another scene
is complete, such as resetting variables.
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">finish</span>()
YourSceneName.super.<span class="function-name">finish</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:pause"></a>
<span class="item-name">noblescene:pause()<span>
</dt>
<dd>
<code>pause()</code> / <code>resume()</code></p>
<p> Implement one or both of these in your scene if you want something to happen when the game is paused/unpaused
by the system. The Playdate SDK does not require you to write pause logic, but these are useful if you want a
custom menu image (see Playdate SDK for more details), want to obscure game elements to prevent players from
cheating in a time-sensitive game, want to count the number of times the player pauses the game, etc.
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">pause</span>()
YourSceneName.super.<span class="function-name">pause</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
<dt>
<a name = "noblescene:resume"></a>
<span class="item-name">noblescene:resume()<span>
</dt>
<dd>
<span></span>
<h3>Usage</h3>
<pre class="example"><span class="keyword">function</span> YourSceneName:<span class="function-name">resume</span>()
YourSceneName.super.<span class="function-name">resume</span>(self)
<span class="comment">--[Your code here]--
</span><span class="keyword">end</span></pre>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<span><a href="https://github.com/NobleRobot/NobleEngine">Noble Engine</a> by Mark LaCroix, <a href="https://noblerobot.com">Noble Robot</a></span>
<span style="float:right;">
Documentation created using <a href="https://github.com/stevedonovan/LDoc">LDoc 1.5.0</a>.
</span>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View File

@@ -1,290 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>Noble Engine API reference</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
<link rel="icon" href="favicon.ico">
</head>
<body>
<div id="container">
<div id="main">
<!-- Menu -->
<div id="navigation">
<a href="../index.html"><div class="logo">
<h1>Noble Engine</h1>
</div></a>
<div class="nav-module">
<h2>NobleSprite</h2>
<ul>
<h3>Fields</h3>
<ul>
<li><a href="#self.animation">self.animation</a></li>
</ul>
<h3>Methods</h3>
<ul>
<li><a href="#noblesprite:init">noblesprite:init</a></li>
<li><a href="#noblesprite:play">noblesprite:play</a></li>
<li><a href="#noblesprite:pause">noblesprite:pause</a></li>
<li><a href="#noblesprite:stop">noblesprite:stop</a></li>
<li><a href="#noblesprite:add">noblesprite:add</a></li>
<li><a href="#noblesprite:remove">noblesprite:remove</a></li>
</ul>
</ul>
</div>
<div class="nav-modules">
<div class="nav-kind">
<h3>Classes</h3>
<ul>
<li><a href="../classes/NobleScene.html">NobleScene</a></li>
<li><span class="selected">NobleSprite</span></li>
</ul>
</div>
<div class="nav-kind">
<h3>Modules</h3>
<ul>
<li><a href="../modules/Noble.html">Noble</a></li>
<li><a href="../modules/Noble.Animation.html">Noble.Animation</a></li>
<li><a href="../modules/Noble.Bonk.html">Noble.Bonk</a></li>
<li><a href="../modules/Noble.GameData.html">Noble.GameData</a></li>
<li><a href="../modules/Noble.Input.html">Noble.Input</a></li>
<li><a href="../modules/Noble.Menu.html">Noble.Menu</a></li>
<li><a href="../modules/Noble.Settings.html">Noble.Settings</a></li>
<li><a href="../modules/Noble.Text.html">Noble.Text</a></li>
<li><a href="../modules/Noble.Transition.html">Noble.Transition</a></li>
<li><a href="../modules/Ease.html">Ease</a></li>
</ul>
</div>
<div class="nav-kind">
<h3>Examples</h3>
<ul>
<li><a href="../examples/SceneTemplate.lua.html">SceneTemplate.lua</a></li>
</ul>
</div>
</div>
</div>
<div id="content">
<h1>NobleSprite</h1>
<p>An extension of Playdate's sprite object, incorporating <a href="../modules/Noble.Animation.html#">Noble.Animation</a> and other Noble Engine features.</p>
<p> Use this in place of <code>playdate.graphics.sprite</code> in most cases.</p>
<p> <a href="../classes/NobleSprite.html#">NobleSprite</a> is a child class of <code>playdate.graphics.sprite</code>, so see the Playdate SDK documentation for additional methods and properties.</p>
<hr/>
<h2 class="section-header "><a name="Fields"></a>Fields</h2>
<!-- -->
<dl class="function">
<dt>
<a name = "self.animation"></a>
<span class="item-name">self.animation<span>
</dt>
<dd>
The animation for this NobleSprite.
<h3>See</h3>
<ul>
<a href="../modules/Noble.Animation.html#Noble.Animation.new">Noble.Animation.new</a>
</ul>
</dd>
</dl>
<h2 class="section-header "><a name="Methods"></a>Methods</h2>
<!-- -->
<dl class="function">
<dt>
<a name = "noblesprite:init"></a>
<span class="item-name">noblesprite:init([__view[, __viewIsSpritesheet=false[, __singleState=false[, __singleStateLoop=true]]]])<span>
</dt>
<dd>
Do not call an "init" method directly. Use <code>NobleSprite()</code> (see usage examples).
<h3>Parameters</h3>
<ul class="parameters">
<li><span class="parameter">__view</span>
<span class="types"><span class="type">string</span></span>
<span class="optional">(optional)</span>
<br/>
This can be: the path to an image or spritesheet image file, an image object (<code>Graphics.image</code>) or an animation object (<a href="../modules/Noble.Animation.html#">Noble.Animation</a>)
</li>
<li><span class="parameter">__viewIsSpritesheet</span>
<span class="types"><span class="type">boolean</span></span>
<span class="default">= <span class="value">false</span> (default)</span>
<br/>
Set this to <code>true</code> to indicate that <code>__view</code> is a spritesheet. Will only be considered if <code>__view</code> is a string path to an image.
</li>
<li><span class="parameter">__singleState</span>
<span class="types"><span class="type">boolean</span></span>
<span class="default">= <span class="value">false</span> (default)</span>
<br/>
If this sprite has just one animation, set this to true. It saves you from having to use Noble.Animation.addState()
</li>
<li><span class="parameter">__singleStateLoop</span>
<span class="types"><span class="type">boolean</span></span>
<span class="default">= <span class="value">true</span> (default)</span>
<br/>
If using a single state animation, should it loop?
</li>
</ul>
<h3>See</h3>
<ul>
<li><a href="../modules/Noble.Animation.html#animation:addState">Noble.Animation:addState</a></li>
<li><a href="../modules/Noble.Animation.html#Noble.Animation.new">Noble.Animation.new</a></li>
</ul>
<h3>Usage</h3>
<pre class="example"><span class="comment">-- Provide a spritesheet image file to create a new <a href="../modules/Noble.Animation.html#">Noble.Animation</a> for a NobleSprite's view.
</span>myNobleSprite = <span class="function-name">NobleSprite</span>(<span class="string">"path/to/spritesheet"</span>, <span class="keyword">true</span>)</pre>
<pre class="example"><span class="comment">-- Provide an image file to create a new <code>Graphics.image</code> for a NobleSprite's view.
</span>myNobleSprite = <span class="function-name">NobleSprite</span>(<span class="string">"path/to/image"</span>)</pre>
<pre class="example"><span class="comment">-- Use an existing <a href="../modules/Noble.Animation.html#">Noble.Animation</a> for a NobleSprite's view.
</span> <span class="keyword">local</span> myAnimation = Noble.Animation.<span class="function-name">new</span>(<span class="string">"path/to/spritesheet"</span>)
myAnimation:<span class="function-name">addState</span>(<span class="string">"default"</span>, <span class="number">1</span>, animation.imageTable:<span class="function-name">getLength</span>(), <span class="keyword">nil</span>, <span class="keyword">true</span>)
myNobleSprite = <span class="function-name">NobleSprite</span>(myAnimation)</pre>
<pre class="example"><span class="comment">-- Use an existing <code>Graphics.image</code> object for a NobleSprite's view.
</span> <span class="keyword">local</span> myImage = Graphics.image.<span class="function-name">new</span>(<span class="string">"path/to/image"</span>)
myNobleSprite = <span class="function-name">NobleSprite</span>(myImage)</pre>
<pre class="example"><span class="comment">-- Extending NobleSprite.
</span>
<span class="comment">-- MyCustomSprite.lua
</span>MyCustomSprite = {}
<span class="function-name">class</span>(<span class="string">"MyCustomSprite"</span>).<span class="function-name">extends</span>(NobleSprite)
<span class="keyword">function</span> MyCustomSprite:<span class="function-name">init</span>(__x, __y, __anotherFunArgument)
MyCustomSprite.super.<span class="function-name">init</span>(self, <span class="string">"path/to/spritesheet"</span>, <span class="keyword">true</span>)
<span class="comment">-- Etc. etc.
</span><span class="keyword">end</span>
<span class="comment">-- MyNobleScene.lua
</span>myNobleSprite = <span class="function-name">MyCustomSprite</span>(<span class="number">100</span>, <span class="number">100</span>, <span class="string">"Fun!"</span>)</pre>
</dd>
<dt>
<a name = "noblesprite:play"></a>
<span class="item-name">noblesprite:play()<span>
</dt>
<dd>
This will enable the update loop for this NobleSprite, which also causes its Noble.Animation to play.
</dd>
<dt>
<a name = "noblesprite:pause"></a>
<span class="item-name">noblesprite:pause()<span>
</dt>
<dd>
This will disable the update loop for this NobleSprite, which also causes its Noble.Animation to pause.
</dd>
<dt>
<a name = "noblesprite:stop"></a>
<span class="item-name">noblesprite:stop()<span>
</dt>
<dd>
This will disable the update loop for this NobleSprite, and also reset its Noble.Animation (if it exists) to the first frame of its current state.
</dd>
<dt>
<a name = "noblesprite:add"></a>
<span class="item-name">noblesprite:add(__x, __y)<span>
</dt>
<dd>
Use this to add this NobleSprite to your scene. This replaces <code>playdate.graphics.sprite:add()</code> to allow NobleSprites to be tracked by the current NobleScene.</p>
<p> To add a <code>playdate.graphics.sprite</code> to a scene, use <code>NobleScene:addSprite(__sprite)</code>.
<h3>Parameters</h3>
<ul class="parameters">
<li><span class="parameter">__x</span>
<br/>
</li>
<li><span class="parameter">__y</span>
<br/>
</li>
</ul>
<h3>See</h3>
<ul>
<a href="../classes/NobleScene.html#noblescene:addSprite">NobleScene:addSprite</a>
</ul>
</dd>
<dt>
<a name = "noblesprite:remove"></a>
<span class="item-name">noblesprite:remove()<span>
</dt>
<dd>
Use this to remove this NobleSprite from your scene. This replaces <code>playdate.graphics.sprite:remove()</code> to allow NobleSprites to be tracked by the current NobleScene.</p>
<p> To remove a <code>playdate.graphics.sprite</code> from a scene, use <code>NobleScene:removeSprite(__sprite)</code>.
<h3>See</h3>
<ul>
<a href="../classes/NobleScene.html#noblescene:removeSprite">NobleScene:removeSprite</a>
</ul>
</dd>
</dl>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<span><a href="https://github.com/NobleRobot/NobleEngine">Noble Engine</a> by Mark LaCroix, <a href="https://noblerobot.com">Noble Robot</a></span>
<span style="float:right;">
Documentation created using <a href="https://github.com/stevedonovan/LDoc">LDoc 1.5.0</a>.
</span>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

View File

@@ -1,264 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>Noble Engine API reference</title>
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
<link rel="icon" href="favicon.ico">
</head>
<body>
<div id="container">
<div id="main">
<!-- Menu -->
<div id="navigation">
<a href="../index.html"><div class="logo">
<h1>Noble Engine</h1>
</div></a>
<div class="nav-modules">
<div class="nav-kind">
<h3>Examples</h3>
<ul>
<li><span class="selected">SceneTemplate.lua</span></li>
</ul>
</div>
<div class="nav-kind">
<h3>Modules</h3>
<ul>
<li><a href="../modules/Noble.html">Noble</a></li>
<li><a href="../modules/Noble.Animation.html">Noble.Animation</a></li>
<li><a href="../modules/Noble.Bonk.html">Noble.Bonk</a></li>
<li><a href="../modules/Noble.GameData.html">Noble.GameData</a></li>
<li><a href="../modules/Noble.Input.html">Noble.Input</a></li>
<li><a href="../modules/Noble.Menu.html">Noble.Menu</a></li>
<li><a href="../modules/Noble.Settings.html">Noble.Settings</a></li>
<li><a href="../modules/Noble.Text.html">Noble.Text</a></li>
<li><a href="../modules/Noble.Transition.html">Noble.Transition</a></li>
<li><a href="../modules/Ease.html">Ease</a></li>
</ul>
</div>
<div class="nav-kind">
<h3>Classes</h3>
<ul>
<li><a href="../classes/NobleScene.html">NobleScene</a></li>
<li><a href="../classes/NobleSprite.html">NobleSprite</a></li>
</ul>
</div>
</div>
</div>
<div id="content">
<h2>SceneTemplate.lua</h2>
<pre>
<span class="comment">--
</span><span class="comment">-- SceneTemplate.lua
</span><span class="comment">--
</span><span class="comment">-- Use this as a starting point for your game's scenes.
</span><span class="comment">-- Copy this file to your root "scenes" directory,
</span><span class="comment">-- and rename it.
</span><span class="comment">--
</span>
<span class="comment">-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</span><span class="comment">-- !!! Rename "SceneTemplate" to your scene's name in these first three lines. !!!
</span><span class="comment">-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</span>
SceneTemplate = {}
<span class="function-name">class</span>(<span class="string">"SceneTemplate"</span>).<span class="function-name">extends</span>(NobleScene)
<span class="keyword">local</span> scene = SceneTemplate
<span class="comment">-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</span><span class="comment">-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</span>
<span class="comment">-- It is recommended that you declare, but don't yet define,
</span><span class="comment">-- your scene-specific varibles and methods here. Use "local" where possible.
</span><span class="comment">--
</span><span class="comment">-- local variable1 = nil -- local variable
</span><span class="comment">-- scene.variable2 = nil -- Scene variable.
</span><span class="comment">-- When accessed outside this file use <code>SceneTemplate.variable2</code>.
</span><span class="comment">-- ...
</span><span class="comment">--
</span>
<span class="comment">-- This is the background color of this scene.
</span>scene.backgroundColor = Graphics.kColorWhite
<span class="comment">-- This runs when your scene's object is created, which is the
</span><span class="comment">-- first thing that happens when transitining away from another scene.
</span><span class="keyword">function</span> scene:<span class="function-name">init</span>()
scene.super.<span class="function-name">init</span>(self)
<span class="comment">-- variable1 = 100
</span> <span class="comment">-- SceneTemplate.variable2 = "string"
</span> <span class="comment">-- ...
</span>
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- When transitioning from another scene, this runs as soon as this
</span><span class="comment">-- scene needs to be visible (this moment depends on which transition type is used).
</span><span class="keyword">function</span> scene:<span class="function-name">enter</span>()
scene.super.<span class="function-name">enter</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- This runs once a transition from another scene is complete.
</span><span class="keyword">function</span> scene:<span class="function-name">start</span>()
scene.super.<span class="function-name">start</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- This runs once per frame.
</span><span class="keyword">function</span> scene:<span class="function-name">update</span>()
scene.super.<span class="function-name">update</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- This runs once per frame, and is meant for drawing code.
</span><span class="keyword">function</span> scene:<span class="function-name">drawBackground</span>()
scene.super.<span class="function-name">drawBackground</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- This runs as as soon as a transition to another scene begins.
</span><span class="keyword">function</span> scene:<span class="function-name">exit</span>()
scene.super.<span class="function-name">exit</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- This runs once a transition to another scene completes.
</span><span class="keyword">function</span> scene:<span class="function-name">finish</span>()
scene.super.<span class="function-name">finish</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="keyword">function</span> scene:<span class="function-name">pause</span>()
scene.super.<span class="function-name">pause</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="keyword">function</span> scene:<span class="function-name">resume</span>()
scene.super.<span class="function-name">resume</span>(self)
<span class="comment">-- Your code here
</span><span class="keyword">end</span>
<span class="comment">-- Define the inputHander for this scene here, or use a previously defined inputHandler.
</span>
<span class="comment">-- scene.inputHandler = someOtherInputHandler
</span><span class="comment">-- OR
</span>scene.inputHandler = {
<span class="comment">-- A button
</span> <span class="comment">--
</span> AButtonDown = <span class="keyword">function</span>() <span class="comment">-- Runs once when button is pressed.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
AButtonHold = <span class="keyword">function</span>() <span class="comment">-- Runs every frame while the player is holding button down.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
AButtonHeld = <span class="keyword">function</span>() <span class="comment">-- Runs after button is held for 1 second.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
AButtonUp = <span class="keyword">function</span>() <span class="comment">-- Runs once when button is released.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
<span class="comment">-- B button
</span> <span class="comment">--
</span> BButtonDown = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
BButtonHeld = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
BButtonHold = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
BButtonUp = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
<span class="comment">-- D-pad left
</span> <span class="comment">--
</span> leftButtonDown = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
leftButtonHold = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
leftButtonUp = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
<span class="comment">-- D-pad right
</span> <span class="comment">--
</span> rightButtonDown = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
rightButtonHold = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
rightButtonUp = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
<span class="comment">-- D-pad up
</span> <span class="comment">--
</span> upButtonDown = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
upButtonHold = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
upButtonUp = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
<span class="comment">-- D-pad down
</span> <span class="comment">--
</span> downButtonDown = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
downButtonHold = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
downButtonUp = <span class="keyword">function</span>()
<span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
<span class="comment">-- Crank
</span> <span class="comment">--
</span> cranked = <span class="keyword">function</span>(change, acceleratedChange) <span class="comment">-- Runs when the crank is rotated. See Playdate SDK documentation for details.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
crankDocked = <span class="keyword">function</span>() <span class="comment">-- Runs once when when crank is docked.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>,
crankUndocked = <span class="keyword">function</span>() <span class="comment">-- Runs once when when crank is undocked.
</span> <span class="comment">-- Your code here
</span> <span class="keyword">end</span>
}</pre>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<span><a href="https://github.com/NobleRobot/NobleEngine">Noble Engine</a> by Mark LaCroix, <a href="https://noblerobot.com">Noble Robot</a></span>
<span style="float:right;">
Documentation created using <a href="https://github.com/stevedonovan/LDoc">LDoc 1.5.0</a>.
</span>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

View File

@@ -1,142 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>Noble Engine API reference</title>
<link rel="stylesheet" href="ldoc.css" type="text/css" />
<link rel="icon" href="favicon.ico">
</head>
<body>
<div id="container">
<div id="main">
<!-- Menu -->
<div id="navigation">
<a href="../index.html"><div class="logo">
<h1>Noble Engine</h1>
</div></a>
<div class="nav-modules">
<div class="nav-kind">
<h3>Modules</h3>
<ul>
<li><a href="modules/Noble.html">Noble</a></li>
<li><a href="modules/Noble.Animation.html">Noble.Animation</a></li>
<li><a href="modules/Noble.Bonk.html">Noble.Bonk</a></li>
<li><a href="modules/Noble.GameData.html">Noble.GameData</a></li>
<li><a href="modules/Noble.Input.html">Noble.Input</a></li>
<li><a href="modules/Noble.Menu.html">Noble.Menu</a></li>
<li><a href="modules/Noble.Settings.html">Noble.Settings</a></li>
<li><a href="modules/Noble.Text.html">Noble.Text</a></li>
<li><a href="modules/Noble.Transition.html">Noble.Transition</a></li>
<li><a href="modules/Ease.html">Ease</a></li>
</ul>
</div>
<div class="nav-kind">
<h3>Classes</h3>
<ul>
<li><a href="classes/NobleScene.html">NobleScene</a></li>
<li><a href="classes/NobleSprite.html">NobleSprite</a></li>
</ul>
</div>
<div class="nav-kind">
<h3>Examples</h3>
<ul>
<li><a href="examples/SceneTemplate.lua.html">SceneTemplate.lua</a></li>
</ul>
</div>
</div>
</div>
<div id="content">
<h2>A li'l game engine for Playdate.</h2>
<h2>Modules</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="modules/Noble.html">Noble</a></td>
<td class="summary">A li'l game engine for Playdate.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Animation.html">Noble.Animation</a></td>
<td class="summary">Animation states using a spritesheet/imagetable.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Bonk.html">Noble.Bonk</a></td>
<td class="summary">Engine-specific error handling.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.GameData.html">Noble.GameData</a></td>
<td class="summary">Operations for game data / save slots.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Input.html">Noble.Input</a></td>
<td class="summary">A complete encapsulation of the Playdate's input system.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Menu.html">Noble.Menu</a></td>
<td class="summary">An extended implementation of <code>playdate.ui.gridview</code>, meant for 1-dimensional, single-screen text menus.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Settings.html">Noble.Settings</a></td>
<td class="summary">Operations for game settings / stats.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Text.html">Noble.Text</a></td>
<td class="summary">Text and font handling.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Noble.Transition.html">Noble.Transition</a></td>
<td class="summary">An abstract class from which transition types are extended.</td>
</tr>
<tr>
<td class="name" ><a href="modules/Ease.html">Ease</a></td>
<td class="summary">Extensions to <code>playdate.easingFunctions</code>, aliased as <a href="modules/Ease.html#">Ease</a> in Noble Engine.</td>
</tr>
</table>
<h2>Classes</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="classes/NobleScene.html">NobleScene</a></td>
<td class="summary">An abstract scene class.</td>
</tr>
<tr>
<td class="name" ><a href="classes/NobleSprite.html">NobleSprite</a></td>
<td class="summary">An extension of Playdate's sprite object, incorporating <a href="modules/Noble.Animation.html#">Noble.Animation</a> and other Noble Engine features.</td>
</tr>
</table>
<h2>Examples</h2>
<table class="module_list">
<tr>
<td class="name" ><a href="examples/SceneTemplate.lua.html">SceneTemplate.lua</a></td>
<td class="summary"></td>
</tr>
</table>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<span><a href="https://github.com/NobleRobot/NobleEngine">Noble Engine</a> by Mark LaCroix, <a href="https://noblerobot.com">Noble Robot</a></span>
<span style="float:right;">
Documentation created using <a href="https://github.com/stevedonovan/LDoc">LDoc 1.5.0</a>.
Last updated 2024-04-28 21:37:43
</span>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

View File

@@ -1,524 +0,0 @@
@import url(https://fonts.googleapis.com/css?family=Quicksand:300,700);
@import url(https://fonts.googleapis.com/css?family=Lato);
@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200;300;400;600;700;900&display=swap);
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
margin: 2em;
font-family: "Lato", arial, helvetica, geneva, sans-serif;
background-color: #ffcb1f;
color: #31302f;
}
code,
tt {
font-family: "Source Code Pro", monospace;
font-size: 1.1em;
letter-spacing: -1px;
font-weight: 600;
color: #056d8d;
}
span.types:before {
content: ": ";
}
span.types:after {
content: "";
}
.type,
.default,
.optional {
color: #74726e;
}
.default .value {
font-weight: bold;
}
.parameters {
list-style-type: none;
}
.parameters li {
margin-bottom: 10px;
line-height: 1.5em;
}
.parameter {
font-weight: 600;
color: #045771;
}
body, td, th {
font-size: .95em;
line-height: 1.2em;
}
p, ul {
margin: 10px 0 0 0px;
}
ul {
padding-left: 25px;
}
strong {
font-weight: bold;
}
em {
font-style: italic;
}
.logo {
width: 100%;
background-image: url("logo.png");
background-repeat: no-repeat;
background-position: center;
height: 150px;
}
.logo h1 {
display: none;
}
h1 {
font-family: 'Quicksand', sans-serif;
font-weight: bold;
color: #cf5a5a;
font-size: 2.5em;
margin: 20px 0 30px 0;
}
h2, h3, h4 {
font-family: 'Quicksand', sans-serif;
font-weight: 700;
margin: 15px 0 10px 0;
}
h2 {
font-size: 1.25em;
color: #cf5a5a;
}
h3 {
font-size: 1.15em;
}
h4 {
font-size: 1em;
}
.section-header {
margin-top: 50px;
padding: 10px;
padding-left: 15px;
margin-left: -25px;
border-radius: 50px;
border-left: 20px solid #cf5a5a;
background-color: #e9cfc8;
color: #31302f;
}
a:link {
font-weight: bold;
color: #cf5a5a;
text-decoration: none;
}
a:visited {
font-weight: bold;
color: #cf5a5a;
text-decoration: none;
}
a:link:hover {
text-decoration: underline;
}
hr {
background: #cf5a5a;
border-radius: 100px;
height: 6px;
margin: 60px 20%;
border: none;
}
blockquote {
margin-left: 3em;
}
ul {
list-style-type: none;
}
p.name {
font-family: "Andale Mono", monospace;
padding-top: 1em;
}
span.item-name {
background-color: #fbd350;
display: inline-block;
color: #31302f;
padding: 10px 20px;
border-radius: 25px;
border: 2px solid #bf9817;
font-size: 1em;
font-family: "Source Code Pro", monospace;
font-weight: 700;
letter-spacing: -1px;
}
pre {
background-color: #056d8d;
border: 2px solid #03475c;
-webkit-box-shadow: 0 0 10px 0 rgba(49, 48, 47, 0.5);
box-shadow: 0 0 10px 0 rgba(49, 48, 47, 0.5);
border-radius: 15px;
color: #f0ece3;
padding: 15px 20px;
margin: 10px 0 10px 0;
font-family: "Source Code Pro", monospace;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
overflow-x: auto;
width: 100%;
font-weight: 400;
}
pre .keyword {
color: #ffcb1f;
}
pre .string, pre .number {
color: #eb6e6e;
font-weight: bold;
}
pre .comment {
color: #b4b1aa;
}
pre.example {
font-size: .85em;
}
table.index td {
text-align: left;
vertical-align: top;
}
#container {
margin-left: auto;
margin-right: auto;
border-radius: 25px;
-webkit-box-shadow: 0 0 25px 0 rgba(49, 48, 47, 0.3);
box-shadow: 0 0 25px 0 rgba(49, 48, 47, 0.3);
overflow: hidden;
max-width: 1600px;
}
#product {
text-align: center;
height: 500px;
background-color: #31302f;
color: #f0ece3;
}
#product > :before {
content: 'Noble Engine';
}
#product big {
font-size: 2em;
}
#main {
background-color: #31302f;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
#navigation {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-negative: 0;
flex-shrink: 0;
-ms-flex-preferred-size: auto;
flex-basis: auto;
width: 275px;
padding: 0 10px;
overflow: hidden;
color: #f0ece3;
}
#navigation a:link, #navigation a:visited {
font-weight: normal;
}
#navigation .nav-module,
#navigation .nav-modules {
color: #31302f;
padding: 15px;
border-radius: 20px;
}
#navigation .nav-module a:link, #navigation .nav-module a:visited,
#navigation .nav-modules a:link,
#navigation .nav-modules a:visited {
color: #31302f;
}
#navigation .nav-module ul a:active, #navigation .nav-module ul a:hover, #navigation .nav-module ul .selected,
#navigation .nav-modules ul a:active,
#navigation .nav-modules ul a:hover,
#navigation .nav-modules ul .selected {
color: #f0ece3;
background-color: #cf5a5a;
padding: 5px 10px;
margin-left: -10px;
border-radius: 30px;
text-decoration: none;
}
#navigation .nav-module ul .selected,
#navigation .nav-modules ul .selected {
line-height: 2em;
margin-left: -28px;
padding-left: 28px;
border-radius: 0 30px 30px 0;
font-weight: bold;
}
#navigation .nav-module {
background-color: #eb6e6e;
margin: 0 -10px 20px 10px;
border-radius: 20px 0 0 20px;
}
#navigation .nav-module h2 {
background-color: #cf5a5a;
color: #f0ece3;
margin: 0;
}
#navigation .nav-module ul a:active, #navigation .nav-module ul a:hover {
color: #31302f;
background-color: #ffcb1f;
}
#navigation .nav-modules {
background-color: #f3e5bc;
margin: 0 10px 30px 10px;
padding-top: 5px;
}
#navigation h1 {
color: #eb6e6e;
line-height: 80%;
font-family: 'Quicksand', sans-serif;
font-weight: 900;
font-size: 32px;
padding-left: 20px;
padding-bottom: 20px;
}
#navigation h2 {
color: #31302f;
font-size: 1.1em;
background-color: #f0ece3;
padding: 5px 10px;
margin-right: 20px;
border-radius: 30px;
text-decoration: none;
}
#navigation ul {
font-size: 1em;
list-style-type: none;
margin: 1px 1px 10px 1px;
padding-left: 0px;
}
#navigation li {
display: block;
margin: 0px 0px 6px 12px;
padding-left: 0px;
}
#navigation li li a {
margin: 0px 3px 0px -1em;
}
#content {
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-negative: 1;
flex-shrink: 1;
-ms-flex-preferred-size: auto;
flex-basis: auto;
min-width: 0;
padding: 2em;
padding-left: 3.5em;
border-left: 4px solid #cf5a5a;
-webkit-box-shadow: inset 0 0 50px 0 rgba(207, 90, 90, 0.25);
box-shadow: inset 0 0 50px 0 rgba(207, 90, 90, 0.25);
background-color: #f0ece3;
}
#about {
clear: both;
padding: 20px;
border-top: 2px solid #31302f;
background-color: #cf5a5a;
color: #f0ece3;
}
#about a:link, #about a:visited, #about a:hover, #about a:active {
color: #ffcb1f;
}
@media print {
body {
font: 12pt "Times New Roman", "TimeNR", Times, serif;
}
a {
font-weight: bold;
color: #1c4e68;
text-decoration: underline;
}
#main {
background-color: #ffffff;
border-left: 0px;
}
#container {
margin-left: 2%;
margin-right: 2%;
background-color: #ffffff;
}
#content {
padding: 1em;
background-color: #ffffff;
}
#navigation {
display: none;
}
pre.example {
font-family: "Andale Mono", monospace;
font-size: 10pt;
page-break-inside: avoid;
}
}
table.module_list {
border-width: 1px;
border-style: solid;
border-color: #b1e3fa;
border-collapse: collapse;
}
table.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #b1e3fa;
}
table.module_list td.name {
background-color: #e0f4fc;
min-width: 200px;
}
table.module_list td.summary {
width: 100%;
}
table.function_list {
border-width: 1px;
border-style: solid;
border-color: #b1e3fa;
border-collapse: collapse;
}
table.function_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #b1e3fa;
}
table.function_list td.name {
background-color: #e0f4fc;
min-width: 200px;
}
table.function_list td.summary {
width: 100%;
}
ul.nowrap {
overflow: auto;
white-space: nowrap;
}
dl.table dt,
dl.function dt {
padding-top: 1em;
}
dl.table dd dd,
dl.function dd {
padding-bottom: 30px;
margin: 10px 0 10px 20px;
border-bottom: 2px dotted #056d8d;
}
dl.table dd > :last-child,
dl.function > :last-child {
border-bottom: none;
}
dl.table h3,
dl.function h3 {
font-size: .95em;
}
/* stop sublists from having initial vertical space */
ul ul {
margin-top: 0px;
}
ol ul {
margin-top: 0px;
}
ol ol {
margin-top: 0px;
}
ul ol {
margin-top: 0px;
}
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
border: 2px solid #31302f;
border-bottom: 6px solid #31302f;
background-color: #cf5a5a;
color: #f0ece3;
}
/*# sourceMappingURL=ldoc.css.map */

Some files were not shown because too many files have changed in this diff Show More