Compare commits
12 Commits
animationi
...
newtileset
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b0072d774 | |||
| 720c9f305e | |||
| baf031b7c5 | |||
| 885289351f | |||
| 20fbf00941 | |||
| 4d6a8943a6 | |||
| dd5d0a7a04 | |||
| 933b9c403f | |||
| abc93d4d57 | |||
| b7383f065f | |||
| f2f134fddb | |||
| 4f714b698d |
505
.ackrc
Normal file
@@ -0,0 +1,505 @@
|
|||||||
|
--ignore-ack-defaults
|
||||||
|
# This is the default ackrc for ack version v3.7.0.
|
||||||
|
|
||||||
|
# There are four different ways to match
|
||||||
|
#
|
||||||
|
# is: Match the filename exactly
|
||||||
|
#
|
||||||
|
# ext: Match the extension of the filename exactly
|
||||||
|
#
|
||||||
|
# match: Match the filename against a Perl regular expression
|
||||||
|
#
|
||||||
|
# firstlinematch: Match the first 250 characters of the first line
|
||||||
|
# of text against a Perl regular expression. This is only for
|
||||||
|
# the --type-add option.
|
||||||
|
|
||||||
|
### Directories to ignore
|
||||||
|
|
||||||
|
# Bazaar
|
||||||
|
# https://bazaar.canonical.com/
|
||||||
|
--ignore-directory=is:.bzr
|
||||||
|
|
||||||
|
# Codeville
|
||||||
|
# http://freshmeat.sourceforge.net/projects/codeville
|
||||||
|
--ignore-directory=is:.cdv
|
||||||
|
|
||||||
|
# Interface Builder (Xcode)
|
||||||
|
# https://en.wikipedia.org/wiki/Interface_Builder
|
||||||
|
--ignore-directory=is:~.dep
|
||||||
|
--ignore-directory=is:~.dot
|
||||||
|
--ignore-directory=is:~.nib
|
||||||
|
--ignore-directory=is:~.plst
|
||||||
|
|
||||||
|
# Git
|
||||||
|
# https://git-scm.com/
|
||||||
|
--ignore-directory=is:.git
|
||||||
|
# When submodules are used, .git is a file.
|
||||||
|
--ignore-file=is:.git
|
||||||
|
|
||||||
|
# Mercurial
|
||||||
|
# https://www.mercurial-scm.org/
|
||||||
|
--ignore-directory=is:.hg
|
||||||
|
|
||||||
|
# Quilt
|
||||||
|
# https://directory.fsf.org/wiki/Quilt
|
||||||
|
--ignore-directory=is:.pc
|
||||||
|
|
||||||
|
# Subversion
|
||||||
|
# https://subversion.apache.org/
|
||||||
|
--ignore-directory=is:.svn
|
||||||
|
|
||||||
|
# Monotone
|
||||||
|
# https://www.monotone.ca/
|
||||||
|
--ignore-directory=is:_MTN
|
||||||
|
|
||||||
|
# CVS
|
||||||
|
# https://savannah.nongnu.org/projects/cvs
|
||||||
|
--ignore-directory=is:CVS
|
||||||
|
|
||||||
|
# RCS
|
||||||
|
# https://www.gnu.org/software/rcs/
|
||||||
|
--ignore-directory=is:RCS
|
||||||
|
|
||||||
|
# SCCS
|
||||||
|
# https://en.wikipedia.org/wiki/Source_Code_Control_System
|
||||||
|
--ignore-directory=is:SCCS
|
||||||
|
|
||||||
|
# darcs
|
||||||
|
# http://darcs.net/
|
||||||
|
--ignore-directory=is:_darcs
|
||||||
|
|
||||||
|
# Vault/Fortress
|
||||||
|
--ignore-directory=is:_sgbak
|
||||||
|
|
||||||
|
# autoconf
|
||||||
|
# https://www.gnu.org/software/autoconf/
|
||||||
|
--ignore-directory=is:autom4te.cache
|
||||||
|
|
||||||
|
# Perl module building
|
||||||
|
--ignore-directory=is:blib
|
||||||
|
--ignore-directory=is:_build
|
||||||
|
|
||||||
|
# Perl Devel::Cover module's output directory
|
||||||
|
# https://metacpan.org/release/Devel-Cover
|
||||||
|
--ignore-directory=is:cover_db
|
||||||
|
|
||||||
|
# Node modules created by npm
|
||||||
|
--ignore-directory=is:node_modules
|
||||||
|
|
||||||
|
# CMake cache
|
||||||
|
# https://www.cmake.org/
|
||||||
|
--ignore-directory=is:CMakeFiles
|
||||||
|
|
||||||
|
# Eclipse workspace folder
|
||||||
|
# https://eclipse.org/
|
||||||
|
--ignore-directory=is:.metadata
|
||||||
|
|
||||||
|
# Cabal (Haskell) sandboxes
|
||||||
|
# https://www.haskell.org/cabal/users-guide/installing-packages.html
|
||||||
|
--ignore-directory=is:.cabal-sandbox
|
||||||
|
|
||||||
|
# Python caches
|
||||||
|
# https://docs.python.org/3/tutorial/modules.html
|
||||||
|
--ignore-directory=is:__pycache__
|
||||||
|
--ignore-directory=is:.pytest_cache
|
||||||
|
|
||||||
|
# macOS Finder remnants
|
||||||
|
--ignore-directory=is:__MACOSX
|
||||||
|
--ignore-file=is:.DS_Store
|
||||||
|
|
||||||
|
### Files to ignore
|
||||||
|
|
||||||
|
# Backup files
|
||||||
|
--ignore-file=ext:bak
|
||||||
|
--ignore-file=match:/~$/
|
||||||
|
|
||||||
|
# Emacs swap files
|
||||||
|
--ignore-file=match:/^#.+#$/
|
||||||
|
|
||||||
|
# vi/vim swap files https://www.vim.org/
|
||||||
|
--ignore-file=match:/[._].*[.]swp$/
|
||||||
|
|
||||||
|
# core dumps
|
||||||
|
--ignore-file=match:/core[.]\d+$/
|
||||||
|
|
||||||
|
# minified JavaScript
|
||||||
|
--ignore-file=match:/[.-]min[.]js$/
|
||||||
|
--ignore-file=match:/[.]js[.]min$/
|
||||||
|
|
||||||
|
# minified CSS
|
||||||
|
--ignore-file=match:/[.]min[.]css$/
|
||||||
|
--ignore-file=match:/[.]css[.]min$/
|
||||||
|
|
||||||
|
# JS and CSS source maps
|
||||||
|
--ignore-file=match:/[.]js[.]map$/
|
||||||
|
--ignore-file=match:/[.]css[.]map$/
|
||||||
|
|
||||||
|
# PDFs, because they pass Perl's -T detection
|
||||||
|
--ignore-file=ext:pdf
|
||||||
|
|
||||||
|
# Common graphics, just as an optimization
|
||||||
|
--ignore-file=ext:gif,jpg,jpeg,png
|
||||||
|
|
||||||
|
# Common archives, as an optimization
|
||||||
|
--ignore-file=ext:gz,tar,tgz,zip
|
||||||
|
|
||||||
|
# Python compiled modules
|
||||||
|
--ignore-file=ext:pyc,pyd,pyo
|
||||||
|
|
||||||
|
# Python's pickle serialization format
|
||||||
|
# https://docs.python.org/2/library/pickle.html#example
|
||||||
|
# https://docs.python.org/3.7/library/pickle.html#examples
|
||||||
|
--ignore-file=ext:pkl,pickle
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
--ignore-file=ext:so
|
||||||
|
|
||||||
|
# Compiled gettext files
|
||||||
|
--ignore-file=ext:mo
|
||||||
|
|
||||||
|
# Visual Studio user and workspace settings
|
||||||
|
# https://code.visualstudio.com/docs/getstarted/settings
|
||||||
|
--ignore-dir=is:.vscode
|
||||||
|
|
||||||
|
### Filetypes defined
|
||||||
|
|
||||||
|
# Makefiles
|
||||||
|
# https://www.gnu.org/s/make/
|
||||||
|
--type-add=make:ext:mk
|
||||||
|
--type-add=make:ext:mak
|
||||||
|
--type-add=make:is:makefile
|
||||||
|
--type-add=make:is:Makefile
|
||||||
|
--type-add=make:is:Makefile.Debug
|
||||||
|
--type-add=make:is:Makefile.Release
|
||||||
|
--type-add=make:is:GNUmakefile
|
||||||
|
|
||||||
|
# Rakefiles
|
||||||
|
# https://rake.rubyforge.org/
|
||||||
|
--type-add=rake:is:Rakefile
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
# https://cmake.org/
|
||||||
|
--type-add=cmake:is:CMakeLists.txt
|
||||||
|
--type-add=cmake:ext:cmake
|
||||||
|
|
||||||
|
# Bazel build tool
|
||||||
|
# https://docs.bazel.build/versions/master/skylark/bzl-style.html
|
||||||
|
--type-add=bazel:ext:bzl
|
||||||
|
# https://docs.bazel.build/versions/master/guide.html#bazelrc-the-bazel-configuration-file
|
||||||
|
--type-add=bazel:ext:bazelrc
|
||||||
|
# https://docs.bazel.build/versions/master/build-ref.html#BUILD_files
|
||||||
|
--type-add=bazel:is:BUILD
|
||||||
|
# https://docs.bazel.build/versions/master/build-ref.html#workspace
|
||||||
|
--type-add=bazel:is:WORKSPACE
|
||||||
|
|
||||||
|
|
||||||
|
# Actionscript
|
||||||
|
--type-add=actionscript:ext:as,mxml
|
||||||
|
|
||||||
|
# Ada
|
||||||
|
# https://www.adaic.org/
|
||||||
|
--type-add=ada:ext:ada,adb,ads
|
||||||
|
|
||||||
|
# ASP
|
||||||
|
# https://docs.microsoft.com/en-us/previous-versions/office/developer/server-technologies/aa286483(v=msdn.10)
|
||||||
|
--type-add=asp:ext:asp
|
||||||
|
|
||||||
|
# ASP.Net
|
||||||
|
# https://dotnet.microsoft.com/apps/aspnet
|
||||||
|
--type-add=aspx:ext:master,ascx,asmx,aspx,svc
|
||||||
|
|
||||||
|
# Assembly
|
||||||
|
--type-add=asm:ext:asm,s
|
||||||
|
|
||||||
|
# DOS/Windows batch
|
||||||
|
--type-add=batch:ext:bat,cmd
|
||||||
|
|
||||||
|
# ColdFusion
|
||||||
|
# https://en.wikipedia.org/wiki/ColdFusion
|
||||||
|
--type-add=cfmx:ext:cfc,cfm,cfml
|
||||||
|
|
||||||
|
# Clojure
|
||||||
|
# https://clojure.org/
|
||||||
|
--type-add=clojure:ext:clj,cljs,edn,cljc
|
||||||
|
|
||||||
|
# C
|
||||||
|
# .xs are Perl C files
|
||||||
|
--type-add=cc:ext:c,h,xs
|
||||||
|
|
||||||
|
# C header files
|
||||||
|
--type-add=hh:ext:h
|
||||||
|
|
||||||
|
# CoffeeScript
|
||||||
|
# https://coffeescript.org/
|
||||||
|
--type-add=coffeescript:ext:coffee
|
||||||
|
|
||||||
|
# C++
|
||||||
|
--type-add=cpp:ext:cpp,cc,cxx,m,hpp,hh,h,hxx
|
||||||
|
|
||||||
|
# C++ header files
|
||||||
|
--type-add=hpp:ext:hpp,hh,h,hxx
|
||||||
|
|
||||||
|
# C#
|
||||||
|
--type-add=csharp:ext:cs
|
||||||
|
|
||||||
|
# Crystal-lang
|
||||||
|
# https://crystal-lang.org/
|
||||||
|
--type-add=crystal:ext:cr,ecr
|
||||||
|
|
||||||
|
# CSS
|
||||||
|
# https://www.w3.org/Style/CSS/
|
||||||
|
--type-add=css:ext:css
|
||||||
|
|
||||||
|
# Dart
|
||||||
|
# https://dart.dev/
|
||||||
|
--type-add=dart:ext:dart
|
||||||
|
|
||||||
|
# Delphi
|
||||||
|
# https://en.wikipedia.org/wiki/Embarcadero_Delphi
|
||||||
|
--type-add=delphi:ext:pas,int,dfm,nfm,dof,dpk,dproj,groupproj,bdsgroup,bdsproj
|
||||||
|
|
||||||
|
# Elixir
|
||||||
|
# https://elixir-lang.org/
|
||||||
|
--type-add=elixir:ext:ex,exs
|
||||||
|
|
||||||
|
# Elm
|
||||||
|
# https://elm-lang.org
|
||||||
|
--type-add=elm:ext:elm
|
||||||
|
|
||||||
|
# Emacs Lisp
|
||||||
|
# https://www.gnu.org/software/emacs
|
||||||
|
--type-add=elisp:ext:el
|
||||||
|
|
||||||
|
# Erlang
|
||||||
|
# https://www.erlang.org/
|
||||||
|
--type-add=erlang:ext:erl,hrl
|
||||||
|
|
||||||
|
# Fortran
|
||||||
|
# https://en.wikipedia.org/wiki/Fortran
|
||||||
|
--type-add=fortran:ext:f,f77,f90,f95,f03,for,ftn,fpp
|
||||||
|
|
||||||
|
# Go
|
||||||
|
# https://golang.org/
|
||||||
|
--type-add=go:ext:go
|
||||||
|
|
||||||
|
# Groovy
|
||||||
|
# https://www.groovy-lang.org/
|
||||||
|
--type-add=groovy:ext:groovy,gtmpl,gpp,grunit,gradle
|
||||||
|
|
||||||
|
# GSP
|
||||||
|
# https://gsp.grails.org/
|
||||||
|
--type-add=gsp:ext:gsp
|
||||||
|
|
||||||
|
# Haskell
|
||||||
|
# https://www.haskell.org/
|
||||||
|
--type-add=haskell:ext:hs,lhs
|
||||||
|
|
||||||
|
# HTML
|
||||||
|
--type-add=html:ext:htm,html,xhtml
|
||||||
|
|
||||||
|
# Jade
|
||||||
|
# http://jade-lang.com/
|
||||||
|
--type-add=jade:ext:jade
|
||||||
|
|
||||||
|
# Java
|
||||||
|
# https://www.oracle.com/technetwork/java/index.html
|
||||||
|
--type-add=java:ext:java,properties
|
||||||
|
|
||||||
|
# JavaScript
|
||||||
|
--type-add=js:ext:js
|
||||||
|
|
||||||
|
# JSP
|
||||||
|
# https://www.oracle.com/technetwork/java/javaee/jsp/index.html
|
||||||
|
--type-add=jsp:ext:jsp,jspx,jspf,jhtm,jhtml
|
||||||
|
|
||||||
|
# JSON
|
||||||
|
# https://json.org/
|
||||||
|
--type-add=json:ext:json
|
||||||
|
|
||||||
|
# Kotlin
|
||||||
|
# https://kotlinlang.org/
|
||||||
|
--type-add=kotlin:ext:kt,kts
|
||||||
|
|
||||||
|
# Less
|
||||||
|
# http://www.lesscss.org/
|
||||||
|
--type-add=less:ext:less
|
||||||
|
|
||||||
|
# Common Lisp
|
||||||
|
# https://common-lisp.net/
|
||||||
|
--type-add=lisp:ext:lisp,lsp
|
||||||
|
|
||||||
|
# Lua
|
||||||
|
# https://www.lua.org/
|
||||||
|
--type-add=lua:ext:lua
|
||||||
|
--type-add=lua:firstlinematch:/^#!.*\blua(jit)?/
|
||||||
|
|
||||||
|
# Markdown
|
||||||
|
# https://en.wikipedia.org/wiki/Markdown
|
||||||
|
--type-add=markdown:ext:md,markdown
|
||||||
|
# We understand that there are many ad hoc extensions for markdown
|
||||||
|
# that people use. .md and .markdown are the two that ack recognizes.
|
||||||
|
# You are free to add your own in your ackrc file.
|
||||||
|
|
||||||
|
# Matlab
|
||||||
|
# https://en.wikipedia.org/wiki/MATLAB
|
||||||
|
--type-add=matlab:ext:m
|
||||||
|
|
||||||
|
# Objective-C
|
||||||
|
--type-add=objc:ext:m,h
|
||||||
|
|
||||||
|
# Objective-C++
|
||||||
|
--type-add=objcpp:ext:mm,h
|
||||||
|
|
||||||
|
# OCaml
|
||||||
|
# https://ocaml.org/
|
||||||
|
--type-add=ocaml:ext:ml,mli,mll,mly
|
||||||
|
|
||||||
|
# Perl
|
||||||
|
# https://perl.org/
|
||||||
|
--type-add=perl:ext:pl,pm,pod,t,psgi
|
||||||
|
--type-add=perl:firstlinematch:/^#!.*\bperl/
|
||||||
|
|
||||||
|
# Perl tests
|
||||||
|
--type-add=perltest:ext:t
|
||||||
|
|
||||||
|
# Perl's Plain Old Documentation format, POD
|
||||||
|
--type-add=pod:ext:pod
|
||||||
|
|
||||||
|
# PHP
|
||||||
|
# https://www.php.net/
|
||||||
|
--type-add=php:ext:php,phpt,php3,php4,php5,phtml
|
||||||
|
--type-add=php:firstlinematch:/^#!.*\bphp/
|
||||||
|
|
||||||
|
# Plone
|
||||||
|
# https://plone.org/
|
||||||
|
--type-add=plone:ext:pt,cpt,metadata,cpy,py
|
||||||
|
|
||||||
|
# PowerShell
|
||||||
|
# https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scripts
|
||||||
|
# https://learn.microsoft.com/en-us/powershell/scripting/developer/module/understanding-a-windows-powershell-module
|
||||||
|
--type-add=powershell:ext:ps1,psm1
|
||||||
|
|
||||||
|
# PureScript
|
||||||
|
# https://www.purescript.org
|
||||||
|
--type-add=purescript:ext:purs
|
||||||
|
|
||||||
|
# Python
|
||||||
|
# https://www.python.org/
|
||||||
|
--type-add=python:ext:py
|
||||||
|
--type-add=python:firstlinematch:/^#!.*\bpython/
|
||||||
|
|
||||||
|
# R
|
||||||
|
# https://www.r-project.org/
|
||||||
|
# https://r4ds.had.co.nz/r-markdown.html
|
||||||
|
--type-add=rr:ext:R,Rmd
|
||||||
|
|
||||||
|
# reStructured Text
|
||||||
|
# https://docutils.sourceforge.io/rst.html
|
||||||
|
--type-add=rst:ext:rst
|
||||||
|
|
||||||
|
# Ruby
|
||||||
|
# https://www.ruby-lang.org/
|
||||||
|
--type-add=ruby:ext:rb,rhtml,rjs,rxml,erb,rake,spec
|
||||||
|
--type-add=ruby:is:Rakefile
|
||||||
|
--type-add=ruby:firstlinematch:/^#!.*\bruby/
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
# https://www.rust-lang.org/
|
||||||
|
--type-add=rust:ext:rs
|
||||||
|
|
||||||
|
# Sass
|
||||||
|
# https://sass-lang.com
|
||||||
|
--type-add=sass:ext:sass,scss
|
||||||
|
|
||||||
|
# Scala
|
||||||
|
# https://www.scala-lang.org/
|
||||||
|
--type-add=scala:ext:scala,sbt
|
||||||
|
|
||||||
|
# Scheme
|
||||||
|
# https://groups.csail.mit.edu/mac/projects/scheme/
|
||||||
|
--type-add=scheme:ext:scm,ss
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
--type-add=shell:ext:sh,bash,csh,tcsh,ksh,zsh,fish
|
||||||
|
--type-add=shell:firstlinematch:/^#!.*\b(?:ba|t?c|k|z|fi)?sh\b/
|
||||||
|
|
||||||
|
# Smalltalk
|
||||||
|
# http://www.smalltalk.org/
|
||||||
|
--type-add=smalltalk:ext:st
|
||||||
|
|
||||||
|
# Smarty
|
||||||
|
# https://www.smarty.net/
|
||||||
|
--type-add=smarty:ext:tpl
|
||||||
|
|
||||||
|
# SQL
|
||||||
|
# https://www.iso.org/standard/45498.html
|
||||||
|
--type-add=sql:ext:sql,ctl
|
||||||
|
|
||||||
|
# Stylus
|
||||||
|
# http://stylus-lang.com/
|
||||||
|
--type-add=stylus:ext:styl
|
||||||
|
|
||||||
|
# SVG
|
||||||
|
# https://en.wikipedia.org/wiki/Scalable_Vector_Graphics
|
||||||
|
--type-add=svg:ext:svg
|
||||||
|
|
||||||
|
# Swift
|
||||||
|
# https://developer.apple.com/swift/
|
||||||
|
--type-add=swift:ext:swift
|
||||||
|
--type-add=swift:firstlinematch:/^#!.*\bswift/
|
||||||
|
|
||||||
|
# Tcl
|
||||||
|
# https://www.tcl.tk/
|
||||||
|
--type-add=tcl:ext:tcl,itcl,itk
|
||||||
|
|
||||||
|
# TeX & LaTeX
|
||||||
|
# https://www.latex-project.org/
|
||||||
|
--type-add=tex:ext:tex,cls,sty
|
||||||
|
|
||||||
|
# Template Toolkit (Perl)
|
||||||
|
# http//template-toolkit.org/
|
||||||
|
--type-add=ttml:ext:tt,tt2,ttml
|
||||||
|
|
||||||
|
# TOML
|
||||||
|
# https://toml.io/
|
||||||
|
--type-add=toml:ext:toml
|
||||||
|
|
||||||
|
# TypeScript
|
||||||
|
# https://www.typescriptlang.org/
|
||||||
|
--type-add=ts:ext:ts,tsx
|
||||||
|
|
||||||
|
# Visual Basic
|
||||||
|
--type-add=vb:ext:bas,cls,frm,ctl,vb,resx
|
||||||
|
|
||||||
|
# Verilog
|
||||||
|
--type-add=verilog:ext:v,vh,sv
|
||||||
|
|
||||||
|
# VHDL
|
||||||
|
# http://www.eda.org/twiki/bin/view.cgi/P1076/WebHome
|
||||||
|
--type-add=vhdl:ext:vhd,vhdl
|
||||||
|
|
||||||
|
# Vim
|
||||||
|
# https://www.vim.org/
|
||||||
|
--type-add=vim:ext:vim
|
||||||
|
|
||||||
|
# XML
|
||||||
|
# https://www.w3.org/TR/REC-xml/
|
||||||
|
--type-add=xml:ext:xml,dtd,xsd,xsl,xslt,ent,wsdl
|
||||||
|
--type-add=xml:firstlinematch:/<[?]xml/
|
||||||
|
|
||||||
|
# YAML
|
||||||
|
# https://yaml.org/
|
||||||
|
--type-add=yaml:ext:yaml,yml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# TOM
|
||||||
|
--ignore-directory=is:src
|
||||||
|
--ignore-directory=is:tmp
|
||||||
|
--ignore-directory=is:fonts
|
||||||
|
--ignore-file=ext:ldtk
|
||||||
|
--ignore-file=ext:png
|
||||||
|
--ignore-file=ext:ase
|
||||||
|
--ignore-file=ext:json
|
||||||
|
--ignore-file=ext:svg
|
||||||
|
|
||||||
3
Makefile
@@ -30,3 +30,6 @@ wasm: buildwasm zipwasm
|
|||||||
|
|
||||||
test:
|
test:
|
||||||
@echo $(VERSION)
|
@echo $(VERSION)
|
||||||
|
|
||||||
|
nixshell:
|
||||||
|
nix-shell -p xorg.libX11 xorg.libXrandr libGL xorg.libXcursor xorg.libXinerama xorg.libXi xorg.libXxf86vm xorg_sys_opengl
|
||||||
|
|||||||
3
TODO.md
@@ -15,11 +15,10 @@
|
|||||||
- Add player collision animation
|
- Add player collision animation
|
||||||
|
|
||||||
- Create pixel art ui elements (button, list things) and ui borders/backgrounds
|
- Create pixel art ui elements (button, list things) and ui borders/backgrounds
|
||||||
|
Replace HUD with pixel art variant
|
||||||
|
|
||||||
- Modify font and font color matching the palette
|
- Modify font and font color matching the palette
|
||||||
|
|
||||||
- Replace HUD with pixel art variant
|
|
||||||
|
|
||||||
- On game start respond to any key (ebitengine-input has an anykey func)
|
- On game start respond to any key (ebitengine-input has an anykey func)
|
||||||
|
|
||||||
- Switch to use https://github.com/quasilyte/ebitengine-input
|
- Switch to use https://github.com/quasilyte/ebitengine-input
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ type TileAnimation struct {
|
|||||||
OnCollision bool // wether to animate a collision
|
OnCollision bool // wether to animate a collision
|
||||||
OnDestruction bool // wether to animate destruction
|
OnDestruction bool // wether to animate destruction
|
||||||
OnIdle bool // wether to animate during idling
|
OnIdle bool // wether to animate during idling
|
||||||
|
OnMoving bool // wether to animate during moving
|
||||||
|
|
||||||
CollisionSheet AnimationSet // an entry in assets.Animations[name]
|
CollisionSheet AnimationSet // an entry in assets.Animations[name]
|
||||||
DestructionSheet AnimationSet
|
DestructionSheet AnimationSet
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ type AnimationMeta struct {
|
|||||||
|
|
||||||
// Needed to thaw sprite set written by asesprite
|
// Needed to thaw sprite set written by asesprite
|
||||||
type AnimationJSON struct {
|
type AnimationJSON struct {
|
||||||
Meta AnimationMeta `json:"Meta"`
|
Meta AnimationMeta `json:"Meta"`
|
||||||
Frames []AnimationFrame `json:"frames"`
|
Frames map[string]AnimationFrame `json:"frames"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// used to store Animation data
|
// used to store Animation data
|
||||||
@@ -133,7 +133,7 @@ func ReadJson(imagefile fs.DirEntry, fd fs.File) AnimationJSON {
|
|||||||
|
|
||||||
err := json.Unmarshal(buf.Bytes(), &animationjson)
|
err := json.Unmarshal(buf.Bytes(), &animationjson)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to parse JSON: %s", err)
|
log.Fatalf("failed to parse JSON in %s: %s", imagefile, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return animationjson
|
return animationjson
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 931 B After Width: | Height: | Size: 931 B |
BIN
assets/oldsprites/sprites/collectible.ase
Normal file
BIN
assets/oldsprites/sprites/collectible.png
Normal file
|
After Width: | Height: | Size: 448 B |
BIN
assets/oldsprites/sprites/door.ase
Normal file
|
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 615 B |
|
Before Width: | Height: | Size: 357 B After Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
BIN
assets/oldsprites/sprites/entitymap.xcf
Normal file
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 712 B |
|
Before Width: | Height: | Size: 967 B After Width: | Height: | Size: 967 B |
|
Before Width: | Height: | Size: 935 B After Width: | Height: | Size: 935 B |
|
Before Width: | Height: | Size: 950 B After Width: | Height: | Size: 950 B |
|
Before Width: | Height: | Size: 1023 B After Width: | Height: | Size: 1023 B |
|
Before Width: | Height: | Size: 963 B After Width: | Height: | Size: 963 B |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 744 B After Width: | Height: | Size: 744 B |
|
Before Width: | Height: | Size: 884 B After Width: | Height: | Size: 884 B |
|
Before Width: | Height: | Size: 441 B After Width: | Height: | Size: 441 B |
|
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
BIN
assets/oldsprites/sprites/tilemap-oil.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 781 B After Width: | Height: | Size: 781 B |
BIN
assets/space/collectible.ase
Normal file
BIN
assets/space/correct-oil-palette.ase
Normal file
39
assets/space/correct-oil.pal
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
36
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
14 14 14
|
||||||
|
29 29 29
|
||||||
|
51 51 51
|
||||||
|
80 80 80
|
||||||
|
99 99 99
|
||||||
|
122 122 122
|
||||||
|
167 167 167
|
||||||
|
192 192 192
|
||||||
|
228 228 228
|
||||||
|
251 245 239
|
||||||
|
242 211 171
|
||||||
|
237 193 132
|
||||||
|
229 164 88
|
||||||
|
222 112 44
|
||||||
|
181 52 28
|
||||||
|
139 22 22
|
||||||
|
198 159 165
|
||||||
|
183 134 134
|
||||||
|
164 102 102
|
||||||
|
133 79 79
|
||||||
|
110 65 83
|
||||||
|
74 44 65
|
||||||
|
174 166 195
|
||||||
|
160 130 170
|
||||||
|
139 109 156
|
||||||
|
119 86 127
|
||||||
|
108 76 112
|
||||||
|
64 53 79
|
||||||
|
89 97 153
|
||||||
|
73 77 126
|
||||||
|
49 57 85
|
||||||
|
37 38 63
|
||||||
|
24 23 38
|
||||||
|
16 13 21
|
||||||
BIN
assets/space/oilshades.ase
Normal file
33
assets/space/oilshades.pal
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
30
|
||||||
|
242 211 171
|
||||||
|
236 199 134
|
||||||
|
230 193 96
|
||||||
|
224 176 50
|
||||||
|
205 142 32
|
||||||
|
198 159 165
|
||||||
|
186 140 144
|
||||||
|
180 129 129
|
||||||
|
172 115 115
|
||||||
|
147 87 98
|
||||||
|
139 109 156
|
||||||
|
118 93 138
|
||||||
|
97 80 118
|
||||||
|
82 68 100
|
||||||
|
62 51 75
|
||||||
|
73 77 126
|
||||||
|
61 61 106
|
||||||
|
51 48 83
|
||||||
|
37 33 56
|
||||||
|
27 21 37
|
||||||
|
39 39 68
|
||||||
|
39 39 68
|
||||||
|
39 39 68
|
||||||
|
39 39 68
|
||||||
|
39 39 68
|
||||||
|
251 245 239
|
||||||
|
223 207 198
|
||||||
|
194 178 174
|
||||||
|
171 157 155
|
||||||
|
146 134 130
|
||||||
BIN
assets/space/robot.ase
Normal file
BIN
assets/space/robot.gif
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 12 KiB |
BIN
assets/space/tilemap-oil/tilemap-oil_space bg.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/space/tilemap-oil/tilemap-oil_space machinery.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
9
assets/sprites/Makefile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
all:
|
||||||
|
@echo noting
|
||||||
|
|
||||||
|
clean:
|
||||||
|
./rename.sh door1.png door-closed.png
|
||||||
|
./rename.sh door2.png door-open.png
|
||||||
|
./rename.sh transient1.png transient-open.png
|
||||||
|
./rename.sh transient2.png transient-closed.png
|
||||||
|
fd '[2-9]' --exec rm
|
||||||
|
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 292 B |
BIN
assets/sprites/correct-oil-palette.ase
Normal file
39
assets/sprites/correct-oil.pal
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
36
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
14 14 14
|
||||||
|
29 29 29
|
||||||
|
51 51 51
|
||||||
|
80 80 80
|
||||||
|
99 99 99
|
||||||
|
122 122 122
|
||||||
|
167 167 167
|
||||||
|
192 192 192
|
||||||
|
228 228 228
|
||||||
|
251 245 239
|
||||||
|
242 211 171
|
||||||
|
237 193 132
|
||||||
|
229 164 88
|
||||||
|
222 112 44
|
||||||
|
181 52 28
|
||||||
|
139 22 22
|
||||||
|
198 159 165
|
||||||
|
183 134 134
|
||||||
|
164 102 102
|
||||||
|
133 79 79
|
||||||
|
110 65 83
|
||||||
|
74 44 65
|
||||||
|
174 166 195
|
||||||
|
160 130 170
|
||||||
|
139 109 156
|
||||||
|
119 86 127
|
||||||
|
108 76 112
|
||||||
|
64 53 79
|
||||||
|
89 97 153
|
||||||
|
73 77 126
|
||||||
|
49 57 85
|
||||||
|
37 38 63
|
||||||
|
24 23 38
|
||||||
|
16 13 21
|
||||||
BIN
assets/sprites/door-closed.png
Normal file
|
After Width: | Height: | Size: 429 B |
BIN
assets/sprites/door-open.png
Normal file
|
After Width: | Height: | Size: 363 B |
70
assets/sprites/obstacle-alldirections-idle.json
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
{ "frames": {
|
||||||
|
"obstacle-alldirections 0.ase": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-alldirections 1.ase": {
|
||||||
|
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-alldirections 2.ase": {
|
||||||
|
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-alldirections 3.ase": {
|
||||||
|
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-alldirections 4.ase": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-alldirections 5.ase": {
|
||||||
|
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "http://www.aseprite.org/",
|
||||||
|
"version": "1.x-dev",
|
||||||
|
"image": "obstacle-alldirections-idle.png",
|
||||||
|
"format": "I8",
|
||||||
|
"size": { "w": 192, "h": 32 },
|
||||||
|
"scale": "1",
|
||||||
|
"frameTags": [
|
||||||
|
],
|
||||||
|
"layers": [
|
||||||
|
{ "name": "enemybot-jets", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-body", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turm", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turret", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turret-head", "opacity": 255, "blendMode": "normal" }
|
||||||
|
],
|
||||||
|
"slices": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
assets/sprites/obstacle-alldirections-idle.png
Normal file
|
After Width: | Height: | Size: 911 B |
BIN
assets/sprites/obstacle-alldirections.ase
Normal file
BIN
assets/sprites/obstacle-alldirections1.png
Normal file
|
After Width: | Height: | Size: 471 B |
92
assets/sprites/obstacle-east-idle.json
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
{ "frames": {
|
||||||
|
"obstacle-east 0.ase": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 1.ase": {
|
||||||
|
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 2.ase": {
|
||||||
|
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 3.ase": {
|
||||||
|
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 4.ase": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 5.ase": {
|
||||||
|
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 6.ase": {
|
||||||
|
"frame": { "x": 192, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 7.ase": {
|
||||||
|
"frame": { "x": 224, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-east 8.ase": {
|
||||||
|
"frame": { "x": 256, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "http://www.aseprite.org/",
|
||||||
|
"version": "1.x-dev",
|
||||||
|
"image": "obstacle-east-idle.png",
|
||||||
|
"format": "I8",
|
||||||
|
"size": { "w": 288, "h": 32 },
|
||||||
|
"scale": "1",
|
||||||
|
"frameTags": [
|
||||||
|
],
|
||||||
|
"layers": [
|
||||||
|
{ "name": "enemybot-jets", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turret", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-body", "opacity": 255, "blendMode": "normal" }
|
||||||
|
],
|
||||||
|
"slices": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
assets/sprites/obstacle-east-idle.png
Normal file
|
After Width: | Height: | Size: 693 B |
BIN
assets/sprites/obstacle-east.ase
Normal file
BIN
assets/sprites/obstacle-east1.png
Normal file
|
After Width: | Height: | Size: 382 B |
92
assets/sprites/obstacle-north-idle.json
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
{ "frames": {
|
||||||
|
"obstacle-north 0.ase": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 1.ase": {
|
||||||
|
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 2.ase": {
|
||||||
|
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 3.ase": {
|
||||||
|
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 4.ase": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 5.ase": {
|
||||||
|
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 6.ase": {
|
||||||
|
"frame": { "x": 192, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 7.ase": {
|
||||||
|
"frame": { "x": 224, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-north 8.ase": {
|
||||||
|
"frame": { "x": 256, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "http://www.aseprite.org/",
|
||||||
|
"version": "1.x-dev",
|
||||||
|
"image": "obstacle-north-idle.png",
|
||||||
|
"format": "I8",
|
||||||
|
"size": { "w": 288, "h": 32 },
|
||||||
|
"scale": "1",
|
||||||
|
"frameTags": [
|
||||||
|
],
|
||||||
|
"layers": [
|
||||||
|
{ "name": "enemybot-jets", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turret", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-body", "opacity": 255, "blendMode": "normal" }
|
||||||
|
],
|
||||||
|
"slices": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
assets/sprites/obstacle-north-idle.png
Normal file
|
After Width: | Height: | Size: 738 B |
BIN
assets/sprites/obstacle-north.ase
Normal file
BIN
assets/sprites/obstacle-north1.png
Normal file
|
After Width: | Height: | Size: 408 B |
92
assets/sprites/obstacle-south-idle.json
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
{ "frames": {
|
||||||
|
"obstacle-south 0.ase": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 1.ase": {
|
||||||
|
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 2.ase": {
|
||||||
|
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 3.ase": {
|
||||||
|
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 4.ase": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 5.ase": {
|
||||||
|
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 6.ase": {
|
||||||
|
"frame": { "x": 192, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 7.ase": {
|
||||||
|
"frame": { "x": 224, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-south 8.ase": {
|
||||||
|
"frame": { "x": 256, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "http://www.aseprite.org/",
|
||||||
|
"version": "1.x-dev",
|
||||||
|
"image": "obstacle-south-idle.png",
|
||||||
|
"format": "I8",
|
||||||
|
"size": { "w": 288, "h": 32 },
|
||||||
|
"scale": "1",
|
||||||
|
"frameTags": [
|
||||||
|
],
|
||||||
|
"layers": [
|
||||||
|
{ "name": "enemybot-jets", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turret", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-body", "opacity": 255, "blendMode": "normal" }
|
||||||
|
],
|
||||||
|
"slices": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
assets/sprites/obstacle-south-idle.png
Normal file
|
After Width: | Height: | Size: 766 B |
BIN
assets/sprites/obstacle-south.ase
Normal file
BIN
assets/sprites/obstacle-south1.png
Normal file
|
After Width: | Height: | Size: 409 B |
92
assets/sprites/obstacle-west-idle.json
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
{ "frames": {
|
||||||
|
"obstacle-west 0.png": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 1.png": {
|
||||||
|
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 2.png": {
|
||||||
|
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 3.png": {
|
||||||
|
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 4.png": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 5.png": {
|
||||||
|
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 6.png": {
|
||||||
|
"frame": { "x": 192, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 7.png": {
|
||||||
|
"frame": { "x": 224, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"obstacle-west 8.png": {
|
||||||
|
"frame": { "x": 256, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "http://www.aseprite.org/",
|
||||||
|
"version": "1.x-dev",
|
||||||
|
"image": "obstacle-west-idle.png",
|
||||||
|
"format": "I8",
|
||||||
|
"size": { "w": 288, "h": 32 },
|
||||||
|
"scale": "1",
|
||||||
|
"frameTags": [
|
||||||
|
],
|
||||||
|
"layers": [
|
||||||
|
{ "name": "enemybot-jets", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-turret", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "enemybot-body", "opacity": 255, "blendMode": "normal" }
|
||||||
|
],
|
||||||
|
"slices": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
assets/sprites/obstacle-west-idle.png
Normal file
|
After Width: | Height: | Size: 688 B |
BIN
assets/sprites/obstacle-west.ase
Normal file
BIN
assets/sprites/obstacle-west1.png
Normal file
|
After Width: | Height: | Size: 387 B |
BIN
assets/sprites/obstacle.ase
Normal file
7
assets/sprites/rename.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
from=$1
|
||||||
|
to=$2
|
||||||
|
|
||||||
|
if test -e "$from"; then
|
||||||
|
mv $from $to
|
||||||
|
fi
|
||||||
104
assets/sprites/robot-idle.json
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
{ "frames": {
|
||||||
|
"robot #idle 0.ase": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 1.ase": {
|
||||||
|
"frame": { "x": 32, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 2.ase": {
|
||||||
|
"frame": { "x": 64, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 3.ase": {
|
||||||
|
"frame": { "x": 96, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 4.ase": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 5.ase": {
|
||||||
|
"frame": { "x": 160, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 6.ase": {
|
||||||
|
"frame": { "x": 192, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 7.ase": {
|
||||||
|
"frame": { "x": 224, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 8.ase": {
|
||||||
|
"frame": { "x": 256, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
},
|
||||||
|
"robot #idle 9.ase": {
|
||||||
|
"frame": { "x": 288, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 32, "h": 32 },
|
||||||
|
"sourceSize": { "w": 32, "h": 32 },
|
||||||
|
"duration": 100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "http://www.aseprite.org/",
|
||||||
|
"version": "1.x-dev",
|
||||||
|
"image": "robot-idle.png",
|
||||||
|
"format": "I8",
|
||||||
|
"size": { "w": 320, "h": 32 },
|
||||||
|
"scale": "1",
|
||||||
|
"frameTags": [
|
||||||
|
{ "name": "Inactive", "from": 0, "to": 0, "direction": "forward", "color": "#000000ff" },
|
||||||
|
{ "name": "idle", "from": 1, "to": 10, "direction": "forward", "color": "#000000ff" }
|
||||||
|
],
|
||||||
|
"layers": [
|
||||||
|
{ "name": "fire", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "engines", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "getriebe", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "head", "opacity": 255, "blendMode": "normal" },
|
||||||
|
{ "name": "noise", "opacity": 255, "blendMode": "normal" }
|
||||||
|
],
|
||||||
|
"slices": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
assets/sprites/robot-idle.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/sprites/robot-inactive.png
Normal file
|
After Width: | Height: | Size: 600 B |
BIN
assets/sprites/robot.ase
Normal file
BIN
assets/sprites/robot.png
Normal file
|
After Width: | Height: | Size: 656 B |
BIN
assets/sprites/simpletiles.ase
Normal file
BIN
assets/sprites/tilemap.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |