1
0
Fork 0
mirror of https://github.com/tonytins/dressupzack synced 2025-05-06 05:44:48 -04:00

Music Score and JSON files WIP

- WIP music score inspired by The Sims 2's CAS. This is what Tony's Dress Up was inspired by back when it was still a Flash project.
- WIP JSON support for parsing clothings and rendering clothing as buttons
- Extended gitignore to support all of .NET Core and Monodevelop, due to Godot's upcoming support of the latter and future-proofing the former with .NET 5 inbound.
This commit is contained in:
Anthony Wilcox 2019-12-22 09:03:29 -05:00
parent 7fb6faa9bb
commit 0e3bb682bb
8 changed files with 877 additions and 11 deletions

38
.gitignore vendored
View file

@ -3,8 +3,8 @@
*.wav *.wav
*.ogg *.ogg
# Created by https://www.gitignore.io/api/linux,godot,macos,backup,windows,visualstudiocode # Created by https://www.gitignore.io/api/linux,godot,macos,backup,windows,dotnetcore,executable,monodevelop,visualstudiocode
# Edit at https://www.gitignore.io/?templates=linux,godot,macos,backup,windows,visualstudiocode # Edit at https://www.gitignore.io/?templates=linux,godot,macos,backup,windows,dotnetcore,executable,monodevelop,visualstudiocode
### Backup ### ### Backup ###
*.bak *.bak
@ -13,6 +13,28 @@
*.orig *.orig
*.tmp *.tmp
### DotnetCore ###
# .NET Core build folders
/bin
/obj
# Common node modules locations
/node_modules
/wwwroot/node_modules
### Executable ###
*.app
*.bat
*.cgi
*.com
*.exe
*.gadget
*.jar
*.pif
*.vb
*.wsf
### Godot ### ### Godot ###
# Godot-specific ignores # Godot-specific ignores
@ -66,6 +88,16 @@ Network Trash Folder
Temporary Items Temporary Items
.apdisk .apdisk
### MonoDevelop ###
#User Specific
*.userprefs
*.usertasks
#Mono Project Files
*.pidb
*.resources
test-results/
### VisualStudioCode ### ### VisualStudioCode ###
.vscode/* .vscode/*
!.vscode/settings.json !.vscode/settings.json
@ -103,4 +135,4 @@ $RECYCLE.BIN/
# Windows shortcuts # Windows shortcuts
*.lnk *.lnk
# End of https://www.gitignore.io/api/linux,godot,macos,backup,windows,visualstudiocode # End of https://www.gitignore.io/api/linux,godot,macos,backup,windows,dotnetcore,executable,monodevelop,visualstudiocode

View file

810
assets/the_dresser.musicxml Normal file
View file

@ -0,0 +1,810 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.1">
<work>
<work-title>The Dresser</work-title>
</work>
<identification>
<creator type="composer">Anthony Wilcox (Tonytins)</creator>
<rights>CC-BY</rights>
<encoding>
<software>MuseScore 3.3.4</software>
<encoding-date>2019-12-22</encoding-date>
<supports element="accidental" type="yes"/>
<supports element="beam" type="yes"/>
<supports element="print" attribute="new-page" type="yes" value="yes"/>
<supports element="print" attribute="new-system" type="yes" value="yes"/>
<supports element="stem" type="yes"/>
</encoding>
</identification>
<defaults>
<scaling>
<millimeters>7.05556</millimeters>
<tenths>40</tenths>
</scaling>
<page-layout>
<page-height>1584</page-height>
<page-width>1224</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<word-font font-family="FreeSerif" font-size="10"/>
<lyric-font font-family="FreeSerif" font-size="11"/>
</defaults>
<credit page="1">
<credit-words default-x="612" default-y="1584" justify="center" valign="top" font-size="24">Menu Loop</credit-words>
</credit>
<credit page="1">
<credit-words default-x="1167.31" default-y="1484" justify="right" valign="bottom" font-size="12">Anthony Wilcox (Tonytins)</credit-words>
</credit>
<credit page="1">
<credit-words default-x="612" default-y="113.386" justify="center" valign="bottom" font-size="8">CC-BY</credit-words>
</credit>
<part-list>
<score-part id="P1">
<part-name>Piano</part-name>
<part-abbreviation>Pno.</part-abbreviation>
<score-instrument id="P1-I1">
<instrument-name>Piano</instrument-name>
</score-instrument>
<midi-device id="P1-I1" port="1"></midi-device>
<midi-instrument id="P1-I1">
<midi-channel>1</midi-channel>
<midi-program>1</midi-program>
<volume>78.7402</volume>
<pan>0</pan>
</midi-instrument>
</score-part>
</part-list>
<part id="P1">
<measure number="1" width="244.39">
<print>
<system-layout>
<system-margins>
<left-margin>21.00</left-margin>
<right-margin>-901.51</right-margin>
</system-margins>
<top-system-distance>70.00</top-system-distance>
</system-layout>
<staff-layout number="2">
<staff-distance>65.00</staff-distance>
</staff-layout>
</print>
<attributes>
<divisions>2</divisions>
<key>
<fifths>0</fifths>
</key>
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<staves>2</staves>
<clef number="1">
<sign>G</sign>
<line>2</line>
</clef>
<clef number="2">
<sign>F</sign>
<line>4</line>
</clef>
</attributes>
<note>
<rest/>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<staff>1</staff>
</note>
<note default-x="122.32" default-y="-20.00">
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<stem>down</stem>
<staff>1</staff>
</note>
<note default-x="161.25" default-y="-10.00">
<pitch>
<step>D</step>
<octave>5</octave>
</pitch>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<stem>down</stem>
<staff>1</staff>
</note>
<note default-x="200.17" default-y="-30.00">
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<stem>up</stem>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note default-x="83.40" default-y="-125.00">
<pitch>
<step>D</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">begin</beam>
</note>
<note default-x="102.86" default-y="-110.00">
<pitch>
<step>G</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">continue</beam>
</note>
<note default-x="122.32" default-y="-95.00">
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">continue</beam>
</note>
<note default-x="141.78" default-y="-115.00">
<pitch>
<step>F</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">end</beam>
</note>
<note default-x="161.25" default-y="-120.00">
<pitch>
<step>E</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">begin</beam>
</note>
<note default-x="180.71" default-y="-105.00">
<pitch>
<step>A</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">continue</beam>
</note>
<note default-x="200.17" default-y="-120.00">
<pitch>
<step>E</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">continue</beam>
</note>
<note default-x="219.63" default-y="-100.00">
<pitch>
<step>B</step>
<octave>3</octave>
</pitch>
<duration>1</duration>
<voice>5</voice>
<type>eighth</type>
<stem>down</stem>
<staff>2</staff>
<beam number="1">end</beam>
</note>
</measure>
<measure number="2" width="96.73">
<note>
<rest/>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<staff>1</staff>
</note>
<note>
<rest/>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<staff>1</staff>
</note>
<note>
<rest/>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<staff>1</staff>
</note>
<note>
<rest/>
<duration>2</duration>
<voice>1</voice>
<type>quarter</type>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>2</duration>
<voice>5</voice>
<type>quarter</type>
<staff>2</staff>
</note>
<note>
<rest/>
<duration>2</duration>
<voice>5</voice>
<type>quarter</type>
<staff>2</staff>
</note>
<note>
<rest/>
<duration>4</duration>
<voice>5</voice>
<type>half</type>
<staff>2</staff>
</note>
</measure>
<measure number="3" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="4" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="5" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="6" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="7" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="8" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="9" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="10" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="11" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="12" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="13" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="14" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="15" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="16" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="17" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="18" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="19" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="20" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="21" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="22" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="23" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="24" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="25" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="26" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="27" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="28" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="29" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="30" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="31" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
</measure>
<measure number="32" width="55.00">
<note>
<rest/>
<duration>8</duration>
<voice>1</voice>
<staff>1</staff>
</note>
<backup>
<duration>8</duration>
</backup>
<note>
<rest/>
<duration>8</duration>
<voice>5</voice>
<staff>2</staff>
</note>
<barline location="right">
<bar-style>light-heavy</bar-style>
</barline>
</measure>
</part>
</score-partwise>

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,5 @@
[gd_scene format=2]
[node name="Clothing" type="TextureButton"]
anchor_right = 1.0
anchor_bottom = 1.0

View file

@ -13,7 +13,11 @@ enum ClothingLayer {
onready var bottoms = load("res://sprites/bottoms_placeholder.png") onready var bottoms = load("res://sprites/bottoms_placeholder.png")
onready var tops = load("res://sprites/tops_placeholder.png") onready var tops = load("res://sprites/tops_placeholder.png")
onready var accessory = load("res://sprites/tops_placeholder.png") onready var accessory = load("res://sprites/tops_placeholder.png")
onready var undies = load("res://sprites/briefs.svg")
var UndiesBtn = load("res://scn/Clothing.tscn")
func _init():
init_underwear()
func change_bottoms(new_bottom): func change_bottoms(new_bottom):
bottoms = new_bottom bottoms = new_bottom
@ -22,16 +26,15 @@ func change_bottoms(new_bottom):
$Character/Bottom.texture = bottoms $Character/Bottom.texture = bottoms
UserSettings.Bottoms = bottoms UserSettings.Bottoms = bottoms
if undies == load("res://sprites/owo_censor.svg"): # if undies == load("res://sprites/owo_censor.svg"):
change_undies(null) # change_undies(null)
$Character/Bottom.texture = bottoms $Character/Bottom.texture = bottoms
UserSettings.Bottoms = bottoms UserSettings.Bottoms = bottoms
func change_undies(new_undies): func change_undies(new_undies):
undies = new_undies $Character/Undies.texture = new_undies
$Character/Undies.texture = undies UserSettings.Underwear = new_undies
UserSettings.Underwear = undies
func change_tops(new_top): func change_tops(new_top):
tops = new_top tops = new_top
@ -53,8 +56,16 @@ func change_accessoires(new_accessory):
$Character/Accessory.texture = accessory $Character/Accessory.texture = accessory
UserSettings.Accessory = accessory UserSettings.Accessory = accessory
func change_clothings(new_clothes, clothing_type): func init_underwear():
pass var undiesFile = File.new()
undiesFile.open("res://undies.json", undiesFile.READ)
var undiesJson = parse_json(undiesFile.get_as_text())
for object in undiesJson:
var underwear = UndiesBtn.instance()
underwear.texture = load(object.sprite)
# warning-ignore:unused_argument # warning-ignore:unused_argument
func _process(delta): func _process(delta):

8
project/undies.json Normal file
View file

@ -0,0 +1,8 @@
[
{
"icon": "res://sprites/z_briefs.svg"
},
{
"icon": "res://sprites/fundosi.svg"
}
]