add love2d 12 project setup
This commit is contained in:
parent
65a505cdfd
commit
d015cc7271
46
.editorconfig
Normal file
46
.editorconfig
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# EditorConfig is awesome: https://editorconfig.org
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Default settings for all files
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
insert_final_newline = true
|
||||||
|
tab_width = 2
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
# Tab indentation for Makefiles
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
# Configuration files
|
||||||
|
[*.{json,yml,yaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# Lua specific settings
|
||||||
|
[*.{lua,luau,rockspec}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
max_line_length = 120
|
||||||
|
|
||||||
|
# Documentation files
|
||||||
|
[*.{md,rst,txt}]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
max_line_length = off
|
||||||
|
|
||||||
|
[*.sh]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
# --language-variant
|
||||||
|
shell_variant = auto
|
||||||
|
binary_next_line = true
|
||||||
|
# --case-indent
|
||||||
|
switch_case_indent = true
|
||||||
|
space_redirects = false
|
||||||
|
# --func-next-line
|
||||||
|
function_next_line = false
|
||||||
48
.gitignore
vendored
Normal file
48
.gitignore
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# Compiled Lua sources
|
||||||
|
luac.out
|
||||||
|
|
||||||
|
# luarocks build files
|
||||||
|
*.src.rock
|
||||||
|
*.zip
|
||||||
|
*.tar.gz
|
||||||
|
|
||||||
|
# Object files
|
||||||
|
*.o
|
||||||
|
*.os
|
||||||
|
*.ko
|
||||||
|
*.elf
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
*.lib
|
||||||
|
*.a
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
*.def
|
||||||
|
*.exp
|
||||||
|
|
||||||
|
# Shared objects (inc. Windows DLLs)
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.so.*
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
*.i*86
|
||||||
|
*.x86_64
|
||||||
|
*.hex
|
||||||
|
|
||||||
|
*~
|
||||||
|
/releases
|
||||||
|
/buildtools/appimage/love-prepared/
|
||||||
|
/buildtools/appimage/*.AppImage
|
||||||
|
/buildtools/appimage/squashfs-root
|
||||||
|
*.private
|
||||||
|
|
||||||
|
.env
|
||||||
27
Workspace.code-workspace
Normal file
27
Workspace.code-workspace
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"name": "Game",
|
||||||
|
"path": "./game",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Tools",
|
||||||
|
"path": "./tools",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Resources",
|
||||||
|
"path": "./resources",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Builds",
|
||||||
|
"path": "./builds",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Root",
|
||||||
|
"path": ".",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"terminal.integrated.defaultProfile.windows": null
|
||||||
|
}
|
||||||
|
}
|
||||||
3
builds/.gitignore
vendored
Normal file
3
builds/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
||||||
|
!README.md
|
||||||
7
game/.vscode/extensions.json
vendored
Normal file
7
game/.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"sumneko.lua",
|
||||||
|
"tomblind.local-lua-debugger-vscode",
|
||||||
|
"editorconfig.editorconfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
34
game/.vscode/launch.json
vendored
Normal file
34
game/.vscode/launch.json
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
|
||||||
|
{
|
||||||
|
"type": "lua-local",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Debug",
|
||||||
|
"program": {
|
||||||
|
"command": "appimage-run"
|
||||||
|
},
|
||||||
|
"args": [
|
||||||
|
"../resources/love.AppImage",
|
||||||
|
".",
|
||||||
|
"debug"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "lua-local",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Release",
|
||||||
|
"program": {
|
||||||
|
"command": "appimage-run"
|
||||||
|
},
|
||||||
|
"args": [
|
||||||
|
"../resources/love.AppImage",
|
||||||
|
".",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
26
game/.vscode/settings.json
vendored
Normal file
26
game/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"Lua.workspace.library": [
|
||||||
|
"${3rd}/love2d/library",
|
||||||
|
"lib"
|
||||||
|
],
|
||||||
|
"Lua.runtime.version": "LuaJIT",
|
||||||
|
"Lua.workspace.checkThirdParty": false,
|
||||||
|
"chat.agent.enabled": false,
|
||||||
|
"chat.editRequests": "none",
|
||||||
|
"chat.implicitContext.enabled": {
|
||||||
|
"panel": "never"
|
||||||
|
},
|
||||||
|
"chat.modeFilesLocations": {
|
||||||
|
".github/chatmodes": false
|
||||||
|
},
|
||||||
|
"chat.promptFiles": false,
|
||||||
|
"chat.promptFilesLocations": {
|
||||||
|
".github/prompts": false
|
||||||
|
},
|
||||||
|
"Lua.diagnostics.globals": [
|
||||||
|
"love"
|
||||||
|
],
|
||||||
|
"Lua.diagnostics.disable": [
|
||||||
|
"lowercase-global"
|
||||||
|
],
|
||||||
|
}
|
||||||
18
game/.vscode/tasks.json
vendored
Normal file
18
game/.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "Build LÖVE",
|
||||||
|
"type": "process",
|
||||||
|
"command": "makelove",
|
||||||
|
"args": [
|
||||||
|
"--config",
|
||||||
|
"../tools/build/makelove.toml"
|
||||||
|
],
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
61
game/conf.lua
Normal file
61
game/conf.lua
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
local IS_DEBUG = os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") == "1" and arg[2] == "debug"
|
||||||
|
if IS_DEBUG then
|
||||||
|
require("lldebugger").start()
|
||||||
|
|
||||||
|
function love.errorhandler(msg)
|
||||||
|
error(msg, 2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- https://love2d.org/wiki/Config_Files
|
||||||
|
function love.conf(t)
|
||||||
|
t.identity = nil
|
||||||
|
t.appendidentity = false
|
||||||
|
t.version = "12.0"
|
||||||
|
t.console = false
|
||||||
|
t.accelerometerjoystick = false
|
||||||
|
t.externalstorage = false
|
||||||
|
t.graphics.gammacorrect = false
|
||||||
|
|
||||||
|
t.audio.mic = false
|
||||||
|
t.audio.mixwithsystem = true
|
||||||
|
|
||||||
|
t.window.title = "test"
|
||||||
|
t.window.icon = nil
|
||||||
|
t.window.width = 960
|
||||||
|
t.window.height = 720
|
||||||
|
t.window.borderless = false
|
||||||
|
t.window.resizable = false
|
||||||
|
t.window.minwidth = 10
|
||||||
|
t.window.minheight = 9
|
||||||
|
t.window.fullscreen = false
|
||||||
|
t.window.fullscreentype = "desktop"
|
||||||
|
t.window.vsync = 1
|
||||||
|
t.window.msaa = 0
|
||||||
|
t.window.depth = true
|
||||||
|
t.window.stencil = nil
|
||||||
|
t.displayindex = 1
|
||||||
|
t.highdpi = false
|
||||||
|
t.window.usedpiscale = true
|
||||||
|
t.window.x = nil
|
||||||
|
t.window.y = nil
|
||||||
|
|
||||||
|
t.modules.audio = true
|
||||||
|
t.modules.data = true
|
||||||
|
t.modules.event = true
|
||||||
|
t.modules.font = true
|
||||||
|
t.modules.graphics = true
|
||||||
|
t.modules.image = true
|
||||||
|
t.modules.joystick = true
|
||||||
|
t.modules.keyboard = true
|
||||||
|
t.modules.math = true
|
||||||
|
t.modules.mouse = true
|
||||||
|
t.modules.physics = true
|
||||||
|
t.modules.sound = true
|
||||||
|
t.modules.system = true
|
||||||
|
t.modules.thread = true
|
||||||
|
t.modules.timer = true
|
||||||
|
t.modules.touch = true
|
||||||
|
t.modules.video = true
|
||||||
|
t.modules.window = true
|
||||||
|
end
|
||||||
3
game/main.lua
Normal file
3
game/main.lua
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function love.load()
|
||||||
|
print("hello")
|
||||||
|
end
|
||||||
3
resources/.gitignore
vendored
Normal file
3
resources/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
||||||
|
!README.md
|
||||||
3
tools/.gitignore
vendored
Normal file
3
tools/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/node_modules
|
||||||
|
package-lock.json
|
||||||
|
bun.lock
|
||||||
43
tools/build/makelove.toml
Normal file
43
tools/build/makelove.toml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
name = "Game"
|
||||||
|
default_targets = ["win64"]
|
||||||
|
build_directory = "../builds"
|
||||||
|
love_files = [
|
||||||
|
"+*",
|
||||||
|
"-*/.*",
|
||||||
|
]
|
||||||
|
keep_game_directory = false
|
||||||
|
[win64]
|
||||||
|
love_binaries = "../resources/love-12.0-woa64"
|
||||||
|
|
||||||
|
[macos]
|
||||||
|
love_binaries = "../resources/love-macos"
|
||||||
|
# The files specified here will be added in addition to the ones specified on top level.
|
||||||
|
# All specified files will be copied to the <name>/Contents/Resources/ directory of the .app file.
|
||||||
|
[macos.archive_files]
|
||||||
|
|
||||||
|
[macos.app_metadata]
|
||||||
|
CFBundleName = "<same as the name from the main config>"
|
||||||
|
CFBundleIdentifier = "tld.yourgamename"
|
||||||
|
NSHumanReadableCopyright = "Copyright © 2006-2020 LÖVE Development Team"
|
||||||
|
CFBundleShortVersionString = "{version}"
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
# These values are included in the .desktop file
|
||||||
|
|
||||||
|
[linux.desktop_file_metadata]
|
||||||
|
Comment="Scary game about finding teeth in odd places"
|
||||||
|
Categories="Education;Science;" # Default is "Game;" (semicolon is separator and terminator)
|
||||||
|
|
||||||
|
[appimage]
|
||||||
|
source_appimage = "../resources/love.AppImage"
|
||||||
|
|
||||||
|
# As with windows, this is a list of .so files to include in the AppImage
|
||||||
|
shared_libraries = [
|
||||||
|
"enet2/enet2.so",
|
||||||
|
"/lib/x86_64-linux-gnu/libcurl.so",
|
||||||
|
]
|
||||||
|
|
||||||
|
# See win32.artifacts and win64.artifacts.
|
||||||
|
# for appimage the possible values are: "appimage" and "appdir",
|
||||||
|
# where "appdir" is the AppDir the AppImage is generated from.
|
||||||
|
artifacts = "appimage" # default is to delete the AppDir
|
||||||
8
tools/package.json
Normal file
8
tools/package.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"scripts": {
|
||||||
|
"RunJS": "cd ../builds/lovejs && python -m http.server 8000",
|
||||||
|
"Publish": "cd ../builds && ../resources/butler/butler push ./win64 user/game:win && ../resources/butler/butler push ./love user/game:win-linux-mac && ../resources/butler/butler push ./lovejs user/game:stable",
|
||||||
|
"Run": "cd ../game && appimage-run ../resources/love.AppImage --console .",
|
||||||
|
"Build": "cd ../game && makelove --config ../tools/build/makelove.toml"
|
||||||
|
}
|
||||||
|
}
|
||||||
1
tools/requirements.txt
Normal file
1
tools/requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
makelove
|
||||||
Loading…
x
Reference in New Issue
Block a user