mirror of
https://github.com/tonytins/CozyPixelStudio.git
synced 2025-05-05 12:24:48 -04:00
Renamed to Cozy Pixel Studio
- Reverted version back to 0.1.0
This commit is contained in:
parent
35f97ebe6f
commit
588efeacfd
13 changed files with 200 additions and 361 deletions
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
|
@ -1,3 +0,0 @@
|
|||
patreon: OramaInteractive
|
||||
custom: https://www.paypal.me/OverloadedOrama
|
||||
ko_fi: overloadedorama
|
26
.github/workflows/dev-desktop-builds.yml
vendored
26
.github/workflows/dev-desktop-builds.yml
vendored
|
@ -2,9 +2,9 @@ name: "dev-desktop-builds"
|
|||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ master, main ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ master, main ]
|
||||
paths-ignore:
|
||||
- "Translations/*"
|
||||
- "installer/*.pot"
|
||||
|
@ -13,7 +13,7 @@ on:
|
|||
env:
|
||||
GODOT_VERSION: 3.2.3
|
||||
GODOT_VERSION_MAC: 3.2.2
|
||||
EXPORT_NAME: Pixelorama
|
||||
EXPORT_NAME: CozyPixelStudio
|
||||
|
||||
jobs:
|
||||
export-windows:
|
||||
|
@ -98,7 +98,7 @@ jobs:
|
|||
- name: Setup environment 🔧
|
||||
run: |
|
||||
export GODOT_VERSION=3.2.2
|
||||
export EXPORT_NAME=Pixelorama
|
||||
export EXPORT_NAME=CozyPixelStudio
|
||||
- name: Download and extract export templates 💾
|
||||
run: |
|
||||
mkdir -v -p ~/.local/share/godot/templates/${GODOT_VERSION_MAC}.stable
|
||||
|
@ -115,23 +115,23 @@ jobs:
|
|||
run: |
|
||||
chown runner ./Godot
|
||||
chmod +x ./Godot
|
||||
./Godot -v --export "Mac OSX" ./build/mac/Pixelorama.zip
|
||||
./Godot -v --export "Mac OSX" ./build/mac/CozyPixelStudio.zip
|
||||
- name: Make application executable 🔧
|
||||
run: |
|
||||
unzip -a ./build/mac/Pixelorama.zip -d ./build/mac
|
||||
chmod +x ./build/mac/Pixelorama.app/Contents/MacOS/Pixelorama
|
||||
rm ./build/mac/Pixelorama.zip
|
||||
unzip -a ./build/mac/CozyPixelStudio.zip -d ./build/mac
|
||||
chmod +x ./build/mac/CozyPixelStudio.app/Contents/MacOS/CozyPixelStudio
|
||||
rm ./build/mac/CozyPixelStudio.zip
|
||||
- name: Fix application icon 🖼
|
||||
run: sips -s format icns ./build/mac/Pixelorama.app/Contents/Resources/icon.icns --out ./build/mac/Pixelorama.app/Contents/Resources/icon.icns
|
||||
run: sips -s format icns ./build/mac/CozyPixelStudio.app/Contents/Resources/icon.icns --out ./build/mac/CozyPixelStudio.app/Contents/Resources/icon.icns
|
||||
- name: Copy pixelorama_data folder 📁
|
||||
run: |
|
||||
cp -R ./pixelorama_data ./build/mac/Pixelorama.app/Contents/MacOS
|
||||
rm ./build/mac/Pixelorama.app/Contents/MacOS/pixelorama_data/.gdignore
|
||||
cp -R ./pixelorama_data ./build/mac/CozyPixelStudio.app/Contents/MacOS
|
||||
rm ./build/mac/CozyPixelStudio.app/Contents/MacOS/pixelorama_data/.gdignore
|
||||
- name: Create DMG archive 🔧
|
||||
run: hdiutil create -size 70m -srcfolder ./build/mac -volname Pixelorama ./build/mac/Pixelorama.dmg
|
||||
run: hdiutil create -size 70m -srcfolder ./build/mac -volname CozyPixelStudio ./build/mac/CozyPixelStudio.dmg
|
||||
- name: Upload Artifact 🚀
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Mac
|
||||
path: ./build/mac/Pixelorama.dmg
|
||||
path: ./build/mac/CozyPixelStudio.dmg
|
||||
retention-days: 14
|
||||
|
|
213
.github/workflows/release.yml
vendored
213
.github/workflows/release.yml
vendored
|
@ -1,213 +0,0 @@
|
|||
name: "release"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ release ]
|
||||
|
||||
env:
|
||||
GODOT_VERSION: 3.2.3
|
||||
GODOT_VERSION_MAC: 3.2.2
|
||||
EXPORT_NAME: Pixelorama
|
||||
TAG: v0.8.2
|
||||
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
|
||||
|
||||
jobs:
|
||||
export-windows:
|
||||
name: Windows Export 🗔
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker://barichello/godot-ci:3.2.3
|
||||
steps:
|
||||
- name: Setup WINE and rcedit 🍷
|
||||
run: |
|
||||
dpkg --add-architecture i386 && apt-get update && apt-get install -y wine-stable && apt-get install -y wine32
|
||||
chown root:root -R ~
|
||||
wget https://github.com/electron/rcedit/releases/download/v1.1.1/rcedit-x64.exe
|
||||
mkdir -v -p ~/.local/share/rcedit
|
||||
mv rcedit-x64.exe ~/.local/share/rcedit
|
||||
godot -q
|
||||
echo 'export/windows/wine = "/usr/bin/wine"' >> ~/.config/godot/editor_settings-3.tres
|
||||
echo 'export/windows/rcedit = "/github/home/.local/share/rcedit/rcedit-x64.exe"' >> ~/.config/godot/editor_settings-3.tres
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Setup 💻
|
||||
run: |
|
||||
mkdir -v -p build/windows-64bit build/windows-32bit ~/.local/share/godot/templates
|
||||
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
|
||||
- name: Windows Build 🔧
|
||||
run: |
|
||||
godot -v --export "Windows Desktop 64-bit" ./build/windows-64bit/$EXPORT_NAME.exe
|
||||
godot -v --export "Windows Desktop 32-bit" ./build/windows-32bit/$EXPORT_NAME.exe
|
||||
- name: Copy pixelorama_data folder 📁
|
||||
run: |
|
||||
cp -R ./pixelorama_data ./build/windows-64bit
|
||||
rm ./build/windows-64bit/pixelorama_data/.gdignore
|
||||
cp -R ./pixelorama_data ./build/windows-32bit
|
||||
rm ./build/windows-32bit/pixelorama_data/.gdignore
|
||||
- name: Zip 🗜️
|
||||
run: |
|
||||
cd build
|
||||
zip -r windows-64bit.zip windows-64bit
|
||||
zip -r windows-32bit.zip windows-32bit
|
||||
- name: Upload 64-bit Release Asset 🚀
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ./build/windows-64bit.zip
|
||||
asset_name: ${{env.EXPORT_NAME}}[Windows-64bit].zip
|
||||
tag: ${{env.TAG}}
|
||||
overwrite: true
|
||||
- name: Upload 32-bit Release Asset 🚀
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ./build/windows-32bit.zip
|
||||
asset_name: ${{env.EXPORT_NAME}}[Windows-32bit].zip
|
||||
tag: ${{env.TAG}}
|
||||
overwrite: true
|
||||
- name: Upload Release Assets to itch.io 🎮
|
||||
run: |
|
||||
butler push ./build/windows-64bit ${{ secrets.ITCHIO_USERNAME }}/${{ secrets.ITCHIO_GAME }}:windows-64 --userversion ${{env.TAG}}
|
||||
butler push ./build/windows-32bit ${{ secrets.ITCHIO_USERNAME }}/${{ secrets.ITCHIO_GAME }}:windows-32 --userversion ${{env.TAG}}
|
||||
|
||||
export-linux:
|
||||
name: Linux Export 🐧
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker://barichello/godot-ci:3.2.3
|
||||
steps:
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Setup 💻
|
||||
run: |
|
||||
mkdir -v -p build/linux-64bit build/linux-32bit ~/.local/share/godot/templates
|
||||
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
|
||||
- name: Linux Build 🔧
|
||||
run: |
|
||||
godot -v --export "Linux/X11 64-bit" ./build/linux-64bit/$EXPORT_NAME.x86_64
|
||||
godot -v --export "Linux/X11 32-bit" ./build/linux-32bit/$EXPORT_NAME.x86
|
||||
- name: Give execute permission ☑️
|
||||
run: |
|
||||
chmod +x ./build/linux-64bit/$EXPORT_NAME.x86_64
|
||||
chmod +x ./build/linux-32bit/$EXPORT_NAME.x86
|
||||
- name: Copy pixelorama_data folder 📁
|
||||
run: |
|
||||
cp -R ./pixelorama_data ./build/linux-64bit
|
||||
rm ./build/linux-64bit/pixelorama_data/.gdignore
|
||||
cp -R ./pixelorama_data ./build/linux-32bit
|
||||
rm ./build/linux-32bit/pixelorama_data/.gdignore
|
||||
- name: Create tar.gz archive 🗜️
|
||||
run: |
|
||||
cd build
|
||||
tar zcvf linux-64bit.tar.gz linux-64bit
|
||||
tar zcvf linux-32bit.tar.gz linux-32bit
|
||||
- name: Upload 64-bit Release Asset 🚀
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ./build/linux-64bit.tar.gz
|
||||
asset_name: ${{env.EXPORT_NAME}}[Linux-64bit].tar.gz
|
||||
tag: ${{env.TAG}}
|
||||
overwrite: true
|
||||
- name: Upload 32-bit Release Asset 🚀
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ./build/linux-32bit.tar.gz
|
||||
asset_name: ${{env.EXPORT_NAME}}[Linux-32bit].tar.gz
|
||||
tag: ${{env.TAG}}
|
||||
overwrite: true
|
||||
- name: Upload Release Assets to itch.io 🎮
|
||||
run: |
|
||||
butler push ./build/linux-64bit.tar.gz ${{ secrets.ITCHIO_USERNAME }}/${{ secrets.ITCHIO_GAME }}:linux-64 --userversion ${{env.TAG}}
|
||||
butler push ./build/linux-32bit.tar.gz ${{ secrets.ITCHIO_USERNAME }}/${{ secrets.ITCHIO_GAME }}:linux-32 --userversion ${{env.TAG}}
|
||||
|
||||
export-mac:
|
||||
name: Mac Export 🍎
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Setup environment 🔧
|
||||
run: |
|
||||
export GODOT_VERSION=3.2.2
|
||||
export EXPORT_NAME=Pixelorama
|
||||
- name: Download and extract export templates 💾
|
||||
run: |
|
||||
mkdir -v -p ~/.local/share/godot/templates/${GODOT_VERSION_MAC}.stable
|
||||
curl -O https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION_MAC}/Godot_v${GODOT_VERSION_MAC}-stable_export_templates.tpz
|
||||
unzip -a Godot_v${GODOT_VERSION_MAC}-stable_export_templates.tpz
|
||||
mv ./templates/* ~/.local/share/godot/templates/${GODOT_VERSION_MAC}.stable
|
||||
- name: Download Godot headless binary 🤖
|
||||
run: |
|
||||
curl -O https://huskee.cf/files/Godot_v${GODOT_VERSION_MAC}-stable_mac_headless.64.zip
|
||||
unzip -a Godot_v${GODOT_VERSION_MAC}-stable_mac_headless.64.zip
|
||||
- name: Setup 💻
|
||||
run: mkdir -v -p ./build/mac
|
||||
- name: Mac Build 🔧
|
||||
run: |
|
||||
chown runner ./Godot
|
||||
chmod +x ./Godot
|
||||
./Godot -v --export "Mac OSX" ./build/mac/Pixelorama.zip
|
||||
- name: Make application executable 🔧
|
||||
run: |
|
||||
unzip -a ./build/mac/Pixelorama.zip -d ./build/mac
|
||||
chmod +x ./build/mac/Pixelorama.app/Contents/MacOS/Pixelorama
|
||||
rm ./build/mac/Pixelorama.zip
|
||||
- name: Fix application icon 🖼
|
||||
run: sips -s format icns ./build/mac/Pixelorama.app/Contents/Resources/icon.icns --out ./build/mac/Pixelorama.app/Contents/Resources/icon.icns
|
||||
- name: Copy pixelorama_data folder 📁
|
||||
run: |
|
||||
cp -R ./pixelorama_data ./build/mac/Pixelorama.app/Contents/MacOS
|
||||
rm ./build/mac/Pixelorama.app/Contents/MacOS/pixelorama_data/.gdignore
|
||||
- name: Create DMG archive 🔧
|
||||
run: hdiutil create -size 70m -srcfolder ./build/mac -volname Pixelorama ./build/mac/Pixelorama.dmg
|
||||
- name: Upload Release Asset 🚀
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ./build/mac/Pixelorama.dmg
|
||||
asset_name: ${{env.EXPORT_NAME}}[Mac].dmg
|
||||
tag: ${{env.TAG}}
|
||||
overwrite: true
|
||||
- name: Upload Release Assets to itch.io 🎮
|
||||
run: |
|
||||
curl -L -o butler.zip https://broth.itch.ovh/butler/darwin-amd64/LATEST/archive/default
|
||||
unzip butler.zip
|
||||
chmod +x butler
|
||||
./butler push ./build/mac/Pixelorama.dmg ${{ secrets.ITCHIO_USERNAME }}/${{ secrets.ITCHIO_GAME }}:mac --userversion ${{env.TAG}}
|
||||
|
||||
export-web:
|
||||
name: Web Export 🌐
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker://barichello/godot-ci:3.2.3
|
||||
steps:
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Setup 💻
|
||||
run: |
|
||||
mkdir -v -p build/web ~/.local/share/godot/templates
|
||||
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
|
||||
- name: Web Build 🔧
|
||||
run: godot -v --export "HTML5" ./build/web/index.html
|
||||
- name: Install rsync 📚
|
||||
run: |
|
||||
apt-get update && apt-get install -y rsync
|
||||
- name: Deploy 🚀
|
||||
uses: JamesIves/github-pages-deploy-action@releases/v3
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BRANCH: gh-pages # The branch the action should deploy to.
|
||||
FOLDER: build/web # The folder the action should deploy.
|
||||
- name: Upload Release Assets to itch.io 🎮
|
||||
run: |
|
||||
butler push ./build/web ${{ secrets.ITCHIO_USERNAME }}/${{ secrets.ITCHIO_GAME }}:web --userversion ${{env.TAG}}
|
141
.gitignore
vendored
141
.gitignore
vendored
|
@ -1,6 +1,66 @@
|
|||
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
|
||||
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/windows,vscode,macos,linux,godot,executable,archives,backup
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,vscode,macos,linux,godot,executable,archives,backup
|
||||
|
||||
### Archives ###
|
||||
# It's better to unpack these files and commit the raw source because
|
||||
# git has its own built in compression methods.
|
||||
*.7z
|
||||
*.jar
|
||||
*.rar
|
||||
*.zip
|
||||
*.gz
|
||||
*.gzip
|
||||
*.tgz
|
||||
*.bzip
|
||||
*.bzip2
|
||||
*.bz2
|
||||
*.xz
|
||||
*.lzma
|
||||
*.cab
|
||||
*.xar
|
||||
|
||||
# Packing-only formats
|
||||
*.iso
|
||||
*.tar
|
||||
|
||||
# Package management formats
|
||||
*.dmg
|
||||
*.xpi
|
||||
*.gem
|
||||
*.egg
|
||||
*.deb
|
||||
*.rpm
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
*.txz
|
||||
|
||||
### Backup ###
|
||||
*.bak
|
||||
*.gho
|
||||
*.ori
|
||||
*.orig
|
||||
*.tmp
|
||||
|
||||
### Executable ###
|
||||
*.app
|
||||
*.bat
|
||||
*.cgi
|
||||
*.com
|
||||
*.exe
|
||||
*.gadget
|
||||
*.pif
|
||||
*.vb
|
||||
*.wsf
|
||||
|
||||
### Godot ###
|
||||
|
||||
# Godot-specific ignores
|
||||
.import/
|
||||
export.cfg
|
||||
export_presets.cfg
|
||||
|
||||
# Imported translations (automatically generated from CSV files)
|
||||
*.translation
|
||||
|
@ -8,11 +68,82 @@
|
|||
# Mono-specific ignores
|
||||
.mono/
|
||||
data_*/
|
||||
mono_crash.*.json
|
||||
|
||||
# System/tool-specific ignores
|
||||
.directory
|
||||
### Linux ###
|
||||
*~
|
||||
|
||||
#Visual Studio Code ignores
|
||||
.vscode/
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### vscode ###
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
*.code-workspace
|
||||
|
||||
### Windows ###
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.msix
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/windows,vscode,macos,linux,godot,executable,archives,backup
|
||||
|
||||
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
|
||||
|
||||
|
|
103
README.md
103
README.md
|
@ -1,103 +1,24 @@
|
|||
<p align="center">
|
||||
<h1 align = "center">Pixelorama - your free and open-source sprite editor!</h1>
|
||||
</p>
|
||||
<p align="center">
|
||||
Made by Orama Interactive with the Godot Engine, written in GDScript!
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/Orama-Interactive/Pixelorama/actions">
|
||||
<img src="https://github.com/Orama-Interactive/Pixelorama/workflows/dev-desktop-builds/badge.svg" alt="Build Passing" />
|
||||
</a>
|
||||
<a href="https://orama-interactive.github.io/Pixelorama/early_access/">
|
||||
<img src="https://github.com/Orama-Interactive/Pixelorama/workflows/dev-web/badge.svg" alt="Build Passing" />
|
||||
</a>
|
||||
<a href="https://github.com/Orama-Interactive/Pixelorama">
|
||||
<img src="https://img.shields.io/github/languages/code-size/Orama-Interactive/Pixelorama.svg" alt="Code Size" />
|
||||
</a>
|
||||
<a href="https://github.com/Orama-Interactive/Pixelorama">
|
||||
<img src="https://img.shields.io/github/repo-size/Orama-Interactive/Pixelorama.svg" alt="Repository size" />
|
||||
</a>
|
||||
<a href="https://github.com/Orama-Interactive/Pixelorama/blob/master/LICENSE">
|
||||
<img src="https://img.shields.io/github/license/Orama-Interactive/Pixelorama.svg" alt="License" />
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/Orama-Interactive/Pixelorama/releases">
|
||||
<img src="https://img.shields.io/github/downloads/Orama-Interactive/Pixelorama/total?color=lightgreen" alt="Downloads" />
|
||||
</a>
|
||||
<a href="https://discord.gg/GTMtr8s">
|
||||
<img src="https://discord.com/api/guilds/645793202393186339/embed.png" alt="Discord Chat" />
|
||||
</a>
|
||||
<a href="https://crowdin.com/project/pixelorama">
|
||||
<img src="https://badges.crowdin.net/pixelorama/localized.svg" alt="Crowdin Localized %" />
|
||||
</a>
|
||||
<a href="https://github.com/godotengine/awesome-godot">
|
||||
<img src="https://awesome.re/mentioned-badge.svg" alt="Mentioned in Awesome Godot" />
|
||||
</a>
|
||||
</p>
|
||||
<h1 align="center">Cozy Pixel Studio</h1>
|
||||
|
||||
[](https://www.youtube.com/watch?v=NLb0TNxZ27E&list=PLVEP1Zz6BUpBiQC0CB6eNBhhLF4tEwBB-&index=10)
|
||||
Art by Wishdream - winner of the first Pixelorama splash screen art contest!
|
||||
|
||||
Make sure to visit our website for more information! https://www.orama-interactive.com
|
||||
<p align="center">
|
||||
<ul style="list-style: none;">
|
||||
<li>Pixelorama made by Orama Interactive</li>
|
||||
<li>Cozy Pixel Studio made by Tony Bark</li>
|
||||
<li>Splash screen art by Wishdream</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
Join our Discord community server where we can discuss about Pixelorama and all our other projects! https://discord.gg/GTMtr8s
|
||||
|
||||
If you like, consider helping us by sponsoring this project! It would enable us to focus more on Pixelorama, and make more projects in the future!
|
||||
|
||||
Toss A Coin For A New Feature: [](https://patreon.com/OramaInteractive)
|
||||
|
||||
## Download
|
||||
Stable versions:
|
||||
- [Itch.io (Windows, Linux, Mac & Web)](https://orama-interactive.itch.io/pixelorama)
|
||||
- [GitHub Releases (Windows, Linux & Mac)](https://github.com/Orama-Interactive/Pixelorama/releases)
|
||||
- [GitHub Pages (Web)](https://orama-interactive.github.io/Pixelorama/)
|
||||
- [Flathub (Linux)](https://flathub.org/apps/details/com.orama_interactive.Pixelorama)
|
||||
- [Snap Store (Linux)](https://snapcraft.io/pixelorama)
|
||||
|
||||
You can also find early access builds in the [GitHub Actions page](https://github.com/Orama-Interactive/Pixelorama/actions). There's also a [Web version available](https://orama-interactive.github.io/Pixelorama/early_access/).
|
||||
Keep in mind that these versions will have bugs and are unstable. Unless you're interested in testing the main branch of Pixelorama, it's recommended that you stick to a stable version.
|
||||
Cozy Pixel Studio is a derivative of Pixelorama meant to study programming and designing interfaces in Godot. **These builds are not meant for production use**.
|
||||
|
||||
## Documentation
|
||||
|
||||
You can find Online Documentation for Pixelorama here: https://orama-interactive.github.io/Pixelorama-Docs
|
||||
|
||||
It's still work in progress so there are some pages missing. If you want to contribute, you can do so in [Pixelorama-Docs' GitHub Repository](https://github.com/Orama-Interactive/Pixelorama-Docs).
|
||||
|
||||
## Cloning Instructions
|
||||
Pixelorama uses Godot 3.2, so you will need to have it in order to run the project.
|
||||
As of right now, most of the code is written using GDScript, so the mono version of Godot is not required, but Pixelorama should also work with it.
|
||||
|
||||
## Current features as of version v0.8:
|
||||
|
||||
- Choosing between 7 tools – pencil, eraser, fill bucket, lighten/darken, color picker, rectangle select and zoom– and mapping them to both of your left and right mouse buttons.
|
||||
- Are you an animator? Pixelorama has its own animation timeline just for you! You can work at an individual cel level, where each cel refers to a unique layer and frame. Supports onion skinning, cel linking, motion drawing and frame grouping with tags.
|
||||
- Different tool options for each of the mouse buttons.
|
||||
- Custom brushes! Load your brushes from files or select them in your project with the selection tool, and they will get stored in `.pxo` files!
|
||||
- Random custom brushes! Every time you draw, expect to see a different random result!
|
||||
- Create or import custom palettes!
|
||||
- Multiple project support, using tabs!
|
||||
- Pattern filling! Use the bucket tool to fill out an area with a pattern of your choosing.
|
||||
- Import images and edit them inside Pixelorama. If you import multiple files, they will be added as individual animation frames. Importing spritesheets is also supported.
|
||||
- Export your gorgeous art as `PNG` or `GIF` files. Exporting your projects as spritesheets is also possible.
|
||||
- Pixel perfect mode for perfect lines, for the pencil, eraser & lighten/darken tools.
|
||||
- Save and open your projects as Pixelorama's custom file format, `.pxo`
|
||||
- Undo/Redo support!
|
||||
- Autosave support, with data recovery in case of a software crash.
|
||||
- Multiple theme support! Choose a theme from Dark, Gray, Blue, Caramel and Light!
|
||||
- Horizontal & vertical mirrored drawing!
|
||||
- Tile Mode for pattern creation!
|
||||
- Split screen mode to see your masterpiece twice! And a mini canvas preview area to see it thrice!
|
||||
- Create straight lines for pencil, eraser and the lighten/darken tool by pressing `Shift`. If you also press `Control`, you can constrain angles with a step of 15.
|
||||
- Generate outlines for your images!
|
||||
- Υou can zoom in and out with the mouse scroll wheel or the `+` and `-` keys respectively, and pan by clicking the middle mouse button, by holding `Space` or with the arrow keys!
|
||||
- Keyboard shortcuts, and the ability to change their bindings.
|
||||
- Rulers and guides!
|
||||
- Rectangular & isometric grid types.
|
||||
- Scale, crop, rotate, flip, color invert, HSV-adjust, desaturate and generate gradients in your images!
|
||||
- Multi-language localization support! See our [Crowdin page](https://crowdin.com/project/pixelorama) for more details.
|
||||
|
||||
|
||||
## Special thanks to
|
||||
|
||||
- The [Pixelorama](https://github.com/Orama-Interactive/Pixelorama) team for creating a pixel art editor in Godot!
|
||||
- All [Godot](https://github.com/godotengine/godot) contributors! Without Godot, Pixelorama would not exist.
|
||||
- https://github.com/jegor377/godot-gdgifexporter - the gif exporter Pixelorama uses.
|
||||
- https://github.com/Pukkah/HTML5-File-Exchange-for-Godot - responsible for file exchange in Pixelorama's HTML5 (Web) version.
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
files:
|
||||
- source: /Translations/Translations.pot
|
||||
translation: /Translations/%locale_with_underscore%.po
|
||||
- source: /installer/*.pot
|
||||
translation: /installer/po/%locale%.po
|
|
@ -110,7 +110,7 @@ _global_script_class_icons={
|
|||
|
||||
[application]
|
||||
|
||||
config/name="Pixelorama"
|
||||
config/name="Cozy Pixel Studio"
|
||||
config/description="A free & open-source 2D sprite editor"
|
||||
run/main_scene="res://src/Main.tscn"
|
||||
run/low_processor_mode=true
|
||||
|
@ -119,7 +119,7 @@ boot_splash/bg_color=Color( 0.145098, 0.145098, 0.164706, 1 )
|
|||
config/icon="res://assets/graphics/icons/icon.png"
|
||||
config/macos_native_icon="res://assets/graphics/icons/icon.icns"
|
||||
config/windows_native_icon="res://assets/graphics/icons/icon.ico"
|
||||
config/Version="v0.8.3-dev"
|
||||
config/Version="v0.1.0-dev"
|
||||
|
||||
[audio]
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ func handle_loading_files(files : PoolStringArray) -> void:
|
|||
for file in files:
|
||||
file = file.replace("\\", "/")
|
||||
var file_ext : String = file.get_extension().to_lower()
|
||||
if file_ext == "pxo": # Pixelorama project file
|
||||
if file_ext == "pxo": # Cozy Pixel Studio project file
|
||||
open_pxo_file(file)
|
||||
elif file_ext == "json" or file_ext == "gpl" or file_ext == "pal": # Palettes
|
||||
Global.palette_container.on_palette_import_file_selected(file)
|
||||
|
@ -109,7 +109,7 @@ func open_pxo_file(path : String, untitled_backup : bool = false, replace_empty
|
|||
if not untitled_backup:
|
||||
# Untitled backup should not change window title and save path
|
||||
current_save_paths[Global.current_project_index] = path
|
||||
Global.window_title = path.get_file() + " - Pixelorama " + Global.current_version
|
||||
Global.window_title = path.get_file() + " - Cozy Pixel Studio " + Global.current_version
|
||||
Global.save_sprites_dialog.current_path = path
|
||||
# Set last opened project path and save
|
||||
Global.config_cache.set_value("preferences", "last_project_path", path)
|
||||
|
@ -146,7 +146,7 @@ func open_old_pxo_file(file : File, new_project : Project, first_line : String)
|
|||
_file_status_version = file_ver_splitted[1]
|
||||
|
||||
if file_major_version == 0 and file_minor_version < 5:
|
||||
Global.notification_label("File is from an older version of Pixelorama, as such it might not work properly")
|
||||
Global.notification_label("File is from an older version of Cozy Pixel Studio, as such it might not work properly")
|
||||
|
||||
var new_guides := true
|
||||
if file_major_version == 0:
|
||||
|
@ -330,7 +330,7 @@ func save_pxo_file(path : String, autosave : bool, use_zstd_compression := true,
|
|||
project.has_changed = false
|
||||
remove_backup(Global.current_project_index)
|
||||
Global.notification_label("File saved")
|
||||
Global.window_title = path.get_file() + " - Pixelorama " + Global.current_version
|
||||
Global.window_title = path.get_file() + " - Cozy Pixel Studio " + Global.current_version
|
||||
|
||||
# Set last opened project path and save
|
||||
Global.config_cache.set_value("preferences", "last_project_path", path)
|
||||
|
@ -528,7 +528,7 @@ func set_new_tab(project : Project, path : String) -> void:
|
|||
Global.tabs.current_tab = Global.tabs.get_tab_count() - 1
|
||||
Global.canvas.camera_zoom()
|
||||
|
||||
Global.window_title = path.get_file() + " (" + tr("imported") + ") - Pixelorama " + Global.current_version
|
||||
Global.window_title = path.get_file() + " (" + tr("imported") + ") - Cozy Pixel Studio " + Global.current_version
|
||||
if project.has_changed:
|
||||
Global.window_title = Global.window_title + "(*)"
|
||||
var file_name := path.get_basename().get_file()
|
||||
|
@ -617,7 +617,7 @@ func reload_backup_file(project_paths : Array, backup_paths : Array) -> void:
|
|||
# If project path is the same as backup save path -> the backup was untitled
|
||||
if project_paths[i] != backup_paths[i]: # If the user has saved
|
||||
current_save_paths[i] = project_paths[i]
|
||||
Global.window_title = project_paths[i].get_file() + " - Pixelorama(*) " + Global.current_version
|
||||
Global.window_title = project_paths[i].get_file() + " - Cozy Pixel Studio(*) " + Global.current_version
|
||||
Global.current_project.has_changed = true
|
||||
|
||||
Global.notification_label("Backup reloaded")
|
||||
|
|
|
@ -20,7 +20,7 @@ func _ready() -> void:
|
|||
get_tree().set_auto_accept_quit(false)
|
||||
setup_application_window_size()
|
||||
|
||||
Global.window_title = tr("untitled") + " - Pixelorama " + Global.current_version
|
||||
Global.window_title = tr("untitled") + " - Cozy Pixel Studio " + Global.current_version
|
||||
|
||||
Global.current_project.layers[0].name = tr("Layer") + " 0"
|
||||
Global.layers_container.get_child(0).label.text = Global.current_project.layers[0].name
|
||||
|
|
|
@ -27,7 +27,7 @@ func _ready() -> void:
|
|||
|
||||
|
||||
func _on_AboutDialog_about_to_show() -> void:
|
||||
window_title = tr("About Pixelorama") + " " + Global.current_version
|
||||
window_title = tr("About Cozy Pixel Studio") + " " + Global.current_version
|
||||
|
||||
if Global.is_cjk(TranslationServer.get_locale()):
|
||||
slogan_label.add_font_override("font", cjk_font)
|
||||
|
@ -83,7 +83,7 @@ func _on_Website_pressed() -> void:
|
|||
|
||||
|
||||
func _on_GitHub_pressed() -> void:
|
||||
OS.shell_open("https://github.com/Orama-Interactive/Pixelorama")
|
||||
OS.shell_open("https://github.com/tonytins/CozyPixelStudio")
|
||||
|
||||
|
||||
func _on_Donate_pressed() -> void:
|
||||
|
@ -92,8 +92,9 @@ func _on_Donate_pressed() -> void:
|
|||
|
||||
func create_developers() -> void:
|
||||
var dev_root := developers.create_item()
|
||||
developers.create_item(dev_root).set_text(0, " Manolis Papadeas (Overloaded) - " + tr("Lead Programmer"))
|
||||
developers.create_item(dev_root).set_text(0, " John Nikitakis (Erevos) - " + tr("UI Designer"))
|
||||
developers.create_item(dev_root).set_text(0, " Tony Bark (tonytins) - " + tr("Programmer"))
|
||||
developers.create_item(dev_root).set_text(0, " Manolis Papadeas (Overloaded) - " + tr("Pixelorama Programmer"))
|
||||
developers.create_item(dev_root).set_text(0, " John Nikitakis (Erevos) - " + tr("Pixelorama UI Designer"))
|
||||
|
||||
|
||||
func create_donors() -> void:
|
||||
|
|
|
@ -7,10 +7,11 @@
|
|||
[ext_resource path="res://assets/fonts/Roboto-Small.tres" type="DynamicFont" id=5]
|
||||
|
||||
[node name="AboutDialog" type="WindowDialog"]
|
||||
visible = true
|
||||
margin_right = 600.0
|
||||
margin_bottom = 400.0
|
||||
rect_min_size = Vector2( 600, 400 )
|
||||
window_title = "About Pixelorama"
|
||||
window_title = "About Cozy Pixel Studio"
|
||||
resizable = true
|
||||
script = ExtResource( 1 )
|
||||
|
||||
|
@ -22,6 +23,9 @@ margin_top = 4.0
|
|||
margin_right = -12.0
|
||||
margin_bottom = -8.0
|
||||
alignment = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="IconsButtons" type="HBoxContainer" parent="AboutUI"]
|
||||
margin_right = 576.0
|
||||
|
@ -50,7 +54,7 @@ margin_bottom = 51.0
|
|||
margin_right = 224.0
|
||||
margin_bottom = 15.0
|
||||
custom_fonts/font = ExtResource( 3 )
|
||||
text = "Pixelorama - Pixelate your dreams!"
|
||||
text = "Cozy Pixel Studio - Pixelate your dreams!"
|
||||
align = 1
|
||||
|
||||
[node name="LinkButtons" type="HBoxContainer" parent="AboutUI/IconsButtons/SloganAndLinks/VBoxContainer"]
|
||||
|
@ -92,12 +96,12 @@ margin_bottom = 72.0
|
|||
[node name="Credits" type="HSplitContainer" parent="AboutUI"]
|
||||
margin_top = 76.0
|
||||
margin_right = 576.0
|
||||
margin_bottom = 345.0
|
||||
margin_bottom = 329.0
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Groups" type="Tree" parent="AboutUI/Credits"]
|
||||
margin_right = 120.0
|
||||
margin_bottom = 269.0
|
||||
margin_bottom = 253.0
|
||||
rect_min_size = Vector2( 120, 120 )
|
||||
custom_constants/item_margin = -2
|
||||
hide_root = true
|
||||
|
@ -105,7 +109,7 @@ hide_root = true
|
|||
[node name="Developers" type="VBoxContainer" parent="AboutUI/Credits"]
|
||||
margin_left = 132.0
|
||||
margin_right = 576.0
|
||||
margin_bottom = 269.0
|
||||
margin_bottom = 253.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="AboutUI/Credits/Developers"]
|
||||
|
@ -116,7 +120,7 @@ text = "Development Team"
|
|||
[node name="DeveloperTree" type="Tree" parent="AboutUI/Credits/Developers"]
|
||||
margin_top = 18.0
|
||||
margin_right = 444.0
|
||||
margin_bottom = 269.0
|
||||
margin_bottom = 253.0
|
||||
size_flags_vertical = 3
|
||||
custom_constants/item_margin = -2
|
||||
custom_constants/button_margin = 2
|
||||
|
@ -183,23 +187,24 @@ custom_constants/item_margin = -2
|
|||
hide_root = true
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="AboutUI"]
|
||||
margin_top = 349.0
|
||||
margin_top = 333.0
|
||||
margin_right = 576.0
|
||||
margin_bottom = 353.0
|
||||
margin_bottom = 337.0
|
||||
|
||||
[node name="MadeBy" type="Label" parent="AboutUI"]
|
||||
margin_top = 357.0
|
||||
margin_top = 341.0
|
||||
margin_right = 576.0
|
||||
margin_bottom = 371.0
|
||||
text = "Developed by Orama Interactive"
|
||||
margin_bottom = 355.0
|
||||
text = "Developed by Tony Bark"
|
||||
align = 1
|
||||
|
||||
[node name="Copyright" type="Label" parent="AboutUI"]
|
||||
margin_top = 375.0
|
||||
margin_top = 359.0
|
||||
margin_right = 576.0
|
||||
margin_bottom = 388.0
|
||||
custom_fonts/font = ExtResource( 5 )
|
||||
text = "©2019-present by Orama Interactive and contributors"
|
||||
text = "©2021-present by Tony Bark
|
||||
©2019-present by Orama Interactive and contributors"
|
||||
align = 1
|
||||
[connection signal="about_to_show" from="." to="." method="_on_AboutDialog_about_to_show"]
|
||||
[connection signal="popup_hide" from="." to="." method="_on_AboutDialog_popup_hide"]
|
||||
|
|
|
@ -21,7 +21,7 @@ func _on_SplashDialog_about_to_show() -> void:
|
|||
|
||||
if Global.config_cache.has_section_key("preferences", "startup"):
|
||||
show_on_startup_button.pressed = !Global.config_cache.get_value("preferences", "startup")
|
||||
window_title = "Pixelorama" + " " + Global.current_version
|
||||
window_title = "Cozy Pixel Studio" + " " + Global.current_version
|
||||
|
||||
chosen_artwork = artworks.keys()[randi() % artworks.size()]
|
||||
splash_art_texturerect.texture = artworks[chosen_artwork][0]
|
||||
|
@ -59,7 +59,7 @@ func _on_PatreonButton_pressed() -> void:
|
|||
|
||||
|
||||
func _on_GithubButton_pressed() -> void:
|
||||
OS.shell_open("https://github.com/Orama-Interactive/Pixelorama")
|
||||
OS.shell_open("https://github.com/tonytins/CozyPixelStudio")
|
||||
|
||||
|
||||
func _on_DiscordButton_pressed() -> void:
|
||||
|
|
|
@ -14,6 +14,7 @@ border_color = Color( 0.403922, 0.403922, 0.403922, 1 )
|
|||
expand_margin_top = 20.0
|
||||
|
||||
[node name="SplashDialog" type="WindowDialog"]
|
||||
visible = true
|
||||
margin_right = 640.0
|
||||
margin_bottom = 583.0
|
||||
rect_min_size = Vector2( 640, 583 )
|
||||
|
@ -190,10 +191,11 @@ rect_min_size = Vector2( 4, 0 )
|
|||
[node name="CopyrightLabel" type="Label" parent="Contents"]
|
||||
margin_top = 554.0
|
||||
margin_right = 640.0
|
||||
margin_bottom = 567.0
|
||||
margin_bottom = 583.0
|
||||
size_flags_horizontal = 3
|
||||
custom_fonts/font = ExtResource( 7 )
|
||||
text = "©2019-present by Orama Interactive and contributors"
|
||||
text = "©2021-present by Tony Bark
|
||||
©2019-present by Orama Interactive and contributors"
|
||||
align = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Contents/CopyrightLabel"]
|
||||
|
|
Loading…
Add table
Reference in a new issue