Initial commit of a minimal game

This commit is contained in:
Julien Baron 2021-01-06 16:34:30 +01:00
parent 2f9cc267cc
commit ae14030db0
20 changed files with 1053 additions and 0 deletions

17
.gitattributes vendored Normal file
View File

@ -0,0 +1,17 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.cpp text
*.c text
*.h text
*.gd text
*.cs text
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
# Import cache
.import/
# Binaries
bin/
build/
lib/

64
Grid.gd Normal file
View File

@ -0,0 +1,64 @@
extends GridContainer
signal grid_completed
export var answerGrid = [
1, 0, 0, 0, 1,
0, 0, 0, 0, 0,
0, 1, 0, 1, 0,
1, 0, 0, 0, 1,
1, 1, 0, 1, 1,
]
export var gridSize = {
"col": 5,
"row": 5,
}
var lineHeaders
func _ready():
lineHeaders = get_tree().get_nodes_in_group("LineHeader")
for header in lineHeaders:
header.connect("line_completed", self, "_lineHeader_completed")
parse_LineHeader_name(header)
func _lineHeader_completed():
var result = true
for i in range(0, lineHeaders.size()):
if !lineHeaders[i].completed:
result = false
break
if result:
emit_signal("grid_completed")
func parse_LineHeader_name(line_header: LineHeader):
var line_type = line_header.name.substr(0, 3)
match line_type:
"Col":
set_LineHeader_col(line_header)
"Row":
set_LineHeader_row(line_header)
_:
print("Error, LineHeader is neither Col nor Row !")
get_tree().quit(1)
# Check state at default (line content at 0)
line_header._pix_clicked()
func set_LineHeader_col(line_header: LineHeader):
var column = int(line_header.name.substr(3))
var answer = answerGrid.slice(column, gridSize.col * gridSize.row, gridSize.col)
line_header.set_answer_line(answer, "\n")
func set_LineHeader_row(line_header: LineHeader):
var row = int(line_header.name.substr(3))
var answer = answerGrid.slice(row * gridSize.col, row * gridSize.col + gridSize.col - 1)
line_header.set_answer_line(answer, " ")

301
Grid.tscn Normal file
View File

@ -0,0 +1,301 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://Pix.tscn" type="PackedScene" id=1]
[ext_resource path="res://LineHeader.tscn" type="PackedScene" id=2]
[ext_resource path="res://Grid.gd" type="Script" id=3]
[ext_resource path="res://HUD.tscn" type="PackedScene" id=4]
[node name="Grid" type="GridContainer"]
margin_right = 100.0
margin_bottom = 40.0
columns = 6
script = ExtResource( 3 )
__meta__ = {
"_edit_group_": true,
"_edit_use_anchors_": false
}
[node name="base" type="Label" parent="."]
margin_top = 8.0
margin_bottom = 22.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Col0" parent="." instance=ExtResource( 2 )]
margin_left = 4.0
margin_right = 54.0
margin_bottom = 31.0
[node name="Col1" parent="." instance=ExtResource( 2 )]
margin_left = 58.0
margin_right = 108.0
margin_bottom = 31.0
[node name="Col2" parent="." instance=ExtResource( 2 )]
margin_left = 112.0
margin_right = 162.0
margin_bottom = 31.0
[node name="Col3" parent="." instance=ExtResource( 2 )]
margin_left = 166.0
margin_right = 216.0
margin_bottom = 31.0
[node name="Col4" parent="." instance=ExtResource( 2 )]
margin_left = 220.0
margin_right = 270.0
margin_bottom = 31.0
[node name="Row0" parent="." instance=ExtResource( 2 )]
margin_top = 44.0
margin_right = 0.0
margin_bottom = 75.0
[node name="Pix" parent="." groups=[
"Col0",
"Row0",
] instance=ExtResource( 1 )]
margin_left = 4.0
margin_top = 35.0
margin_right = 54.0
margin_bottom = 85.0
[node name="Pix2" parent="." groups=[
"Col1",
"Row0",
] instance=ExtResource( 1 )]
margin_left = 58.0
margin_top = 35.0
margin_right = 108.0
margin_bottom = 85.0
[node name="Pix3" parent="." groups=[
"Col2",
"Row0",
] instance=ExtResource( 1 )]
margin_left = 112.0
margin_top = 35.0
margin_right = 162.0
margin_bottom = 85.0
[node name="Pix4" parent="." groups=[
"Col3",
"Row0",
] instance=ExtResource( 1 )]
margin_left = 166.0
margin_top = 35.0
margin_right = 216.0
margin_bottom = 85.0
[node name="Pix5" parent="." groups=[
"Col4",
"Row0",
] instance=ExtResource( 1 )]
margin_left = 220.0
margin_top = 35.0
margin_right = 270.0
margin_bottom = 85.0
[node name="Row1" parent="." instance=ExtResource( 2 )]
margin_top = 98.0
margin_right = 0.0
margin_bottom = 129.0
[node name="Pix6" parent="." groups=[
"Col0",
"Row1",
] instance=ExtResource( 1 )]
margin_left = 4.0
margin_top = 89.0
margin_right = 54.0
margin_bottom = 139.0
[node name="Pix7" parent="." groups=[
"Col1",
"Row1",
] instance=ExtResource( 1 )]
margin_left = 58.0
margin_top = 89.0
margin_right = 108.0
margin_bottom = 139.0
[node name="Pix8" parent="." groups=[
"Col2",
"Row1",
] instance=ExtResource( 1 )]
margin_left = 112.0
margin_top = 89.0
margin_right = 162.0
margin_bottom = 139.0
[node name="Pix9" parent="." groups=[
"Col3",
"Row1",
] instance=ExtResource( 1 )]
margin_left = 166.0
margin_top = 89.0
margin_right = 216.0
margin_bottom = 139.0
[node name="Pix10" parent="." groups=[
"Col4",
"Row1",
] instance=ExtResource( 1 )]
margin_left = 220.0
margin_top = 89.0
margin_right = 270.0
margin_bottom = 139.0
[node name="Row2" parent="." instance=ExtResource( 2 )]
margin_top = 152.0
margin_right = 0.0
margin_bottom = 183.0
[node name="Pix11" parent="." groups=[
"Col0",
"Row2",
] instance=ExtResource( 1 )]
margin_left = 4.0
margin_top = 143.0
margin_right = 54.0
margin_bottom = 193.0
[node name="Pix12" parent="." groups=[
"Col1",
"Row2",
] instance=ExtResource( 1 )]
margin_left = 58.0
margin_top = 143.0
margin_right = 108.0
margin_bottom = 193.0
[node name="Pix13" parent="." groups=[
"Col2",
"Row2",
] instance=ExtResource( 1 )]
margin_left = 112.0
margin_top = 143.0
margin_right = 162.0
margin_bottom = 193.0
[node name="Pix14" parent="." groups=[
"Col3",
"Row2",
] instance=ExtResource( 1 )]
margin_left = 166.0
margin_top = 143.0
margin_right = 216.0
margin_bottom = 193.0
[node name="Pix15" parent="." groups=[
"Col4",
"Row2",
] instance=ExtResource( 1 )]
margin_left = 220.0
margin_top = 143.0
margin_right = 270.0
margin_bottom = 193.0
[node name="Row3" parent="." instance=ExtResource( 2 )]
margin_top = 206.0
margin_right = 0.0
margin_bottom = 237.0
[node name="Pix16" parent="." groups=[
"Col0",
"Row3",
] instance=ExtResource( 1 )]
margin_left = 4.0
margin_top = 197.0
margin_right = 54.0
margin_bottom = 247.0
[node name="Pix17" parent="." groups=[
"Col1",
"Row3",
] instance=ExtResource( 1 )]
margin_left = 58.0
margin_top = 197.0
margin_right = 108.0
margin_bottom = 247.0
[node name="Pix18" parent="." groups=[
"Col2",
"Row3",
] instance=ExtResource( 1 )]
margin_left = 112.0
margin_top = 197.0
margin_right = 162.0
margin_bottom = 247.0
[node name="Pix19" parent="." groups=[
"Col3",
"Row3",
] instance=ExtResource( 1 )]
margin_left = 166.0
margin_top = 197.0
margin_right = 216.0
margin_bottom = 247.0
[node name="Pix20" parent="." groups=[
"Col4",
"Row3",
] instance=ExtResource( 1 )]
margin_left = 220.0
margin_top = 197.0
margin_right = 270.0
margin_bottom = 247.0
[node name="Row4" parent="." instance=ExtResource( 2 )]
margin_top = 260.0
margin_right = 0.0
margin_bottom = 291.0
[node name="Pix21" parent="." groups=[
"Col0",
"Row4",
] instance=ExtResource( 1 )]
margin_left = 4.0
margin_top = 251.0
margin_right = 54.0
margin_bottom = 301.0
[node name="Pix22" parent="." groups=[
"Col1",
"Row4",
] instance=ExtResource( 1 )]
margin_left = 58.0
margin_top = 251.0
margin_right = 108.0
margin_bottom = 301.0
[node name="Pix23" parent="." groups=[
"Col2",
"Row4",
] instance=ExtResource( 1 )]
margin_left = 112.0
margin_top = 251.0
margin_right = 162.0
margin_bottom = 301.0
[node name="Pix24" parent="." groups=[
"Col3",
"Row4",
] instance=ExtResource( 1 )]
margin_left = 166.0
margin_top = 251.0
margin_right = 216.0
margin_bottom = 301.0
[node name="Pix25" parent="." groups=[
"Col4",
"Row4",
] instance=ExtResource( 1 )]
margin_left = 220.0
margin_top = 251.0
margin_right = 270.0
margin_bottom = 301.0
[node name="HUD" parent="." instance=ExtResource( 4 )]
[connection signal="grid_completed" from="." to="HUD" method="end_game"]

24
HUD.gd Normal file
View File

@ -0,0 +1,24 @@
extends CanvasLayer
var score: int
# Called when the node enters the scene tree for the first time.
func _ready():
$ScoreTimer.connect("timeout", self, "_ScoreTimer_timeout")
func _ScoreTimer_timeout():
score += 1
$Score.text = str(score)
func new_game():
score = 0
$ScoreTimer.start()
$State.text = ""
func end_game():
$ScoreTimer.stop()
$State.text = "VICTIORE"

41
HUD.tscn Normal file
View File

@ -0,0 +1,41 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://assets/fonts/Xolonium-Regular.ttf" type="DynamicFontData" id=1]
[ext_resource path="res://HUD.gd" type="Script" id=2]
[sub_resource type="DynamicFont" id=1]
size = 25
font_data = ExtResource( 1 )
[node name="HUD" type="CanvasLayer"]
script = ExtResource( 2 )
[node name="ScoreTimer" type="Timer" parent="."]
autostart = true
[node name="Score" type="Label" parent="."]
anchor_left = 1.0
anchor_right = 1.0
margin_left = -40.0
margin_bottom = 31.0
custom_fonts/font = SubResource( 1 )
text = "0"
align = 2
__meta__ = {
"_edit_use_anchors_": false
}
[node name="State" type="Label" parent="."]
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
margin_left = -40.0
margin_top = -15.5
margin_bottom = 15.5
grow_horizontal = 0
custom_fonts/font = SubResource( 1 )
align = 2
__meta__ = {
"_edit_use_anchors_": false
}

62
LineHeader.gd Normal file
View File

@ -0,0 +1,62 @@
class_name LineHeader
extends Label
signal line_completed
var answer_line : Array
var completed := false
var pixList
# Called when the node enters the scene tree for the first time.
func _ready():
pixList = get_tree().get_nodes_in_group(name)
for pix in pixList:
pix.connect("value_changed", self, "_pix_clicked")
func _pix_clicked():
var result = true
for i in range(0, pixList.size()):
if answer_line[i] != pixList[i].value && !(answer_line[i] == 0 && pixList[i].value != 1):
result = false
break
completed = result
if completed:
emit_signal("line_completed")
func set_answer_line(answers : Array, separator : String):
answer_line = answers
# Add a value at the end of the array to purge the result text
answers.push_back(0)
var result : String = ""
var count : int = 0
var last : int = 0
for value in answers:
if value == 1:
count += 1
last = 1
else:
if last != 0:
if !result.empty():
result += separator
result += str(count)
count = 0
last = 0
# Remove the last value used to purge the result text
answers.pop_back()
if result.empty():
text = "0"
else:
text = result

20
LineHeader.tscn Normal file
View File

@ -0,0 +1,20 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://LineHeader.gd" type="Script" id=1]
[ext_resource path="res://assets/fonts/Xolonium-Regular.ttf" type="DynamicFontData" id=2]
[sub_resource type="DynamicFont" id=1]
size = 25
font_data = ExtResource( 2 )
[node name="LineHeader" type="Label" groups=[
"LineHeader",
]]
margin_right = 40.0
margin_bottom = 14.0
custom_fonts/font = SubResource( 1 )
align = 1
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}

46
Pix.gd Normal file
View File

@ -0,0 +1,46 @@
extends Button
signal value_changed
export var corner_radius = 5
var normal_style = StyleBoxFlat.new()
var outline_style = StyleBoxFlat.new()
var value = 0
# Called when the node enters the scene tree for the first time.
func _ready():
connect("pressed", self, "_on_Pix_pressed")
normal_style.set_corner_radius_all(corner_radius)
outline_style.set_corner_radius_all(corner_radius)
outline_style.set_border_width_all(5)
outline_style.set_border_color(Color.webpurple)
# Set default style
_on_Pix_pressed(true)
func _on_Pix_pressed(bypass: bool = false):
if (!bypass):
value = (value + 1) % 2
if value == 0:
set_color(Color.blanchedalmond)
else:
set_color(Color.black)
if (!bypass):
emit_signal("value_changed")
func set_color(color):
normal_style.set_bg_color(color)
set("custom_styles/normal", normal_style)
outline_style.set_bg_color(color)
set("custom_styles/focus", outline_style)
set("custom_styles/hover", outline_style)

14
Pix.tscn Normal file
View File

@ -0,0 +1,14 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://Pix.gd" type="Script" id=1]
[node name="Pix" type="Button" groups=[
"Pix",
]]
margin_right = 100.0
margin_bottom = 100.0
rect_min_size = Vector2( 50, 50 )
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}

5
README.md Normal file
View File

@ -0,0 +1,5 @@
# Picross clone made in Godot
This is my first godot game (without counting the tutorial). It was made in a day (counting making the tutorial first) and polished a bit after. It is far from being a complete game since for now there is only one level and the puzzle is hardcoded.
The objective is to have a level selector and a level editor. The level files could be shared (in JSON ?).
But truly the ojective was learning Godot and see how fast making a game could be (with almost 0 game making experience as a developper).

253
assets/fonts/FONTLOG.txt Normal file
View File

@ -0,0 +1,253 @@
Please distribute this file along with the Xolonium fonts when possible.
Source
Find the sourcefiles of Xolonium at
<gitlab.com/sev/xolonium>
Credits
Xolonium is created with FontForge <fontforge.org>,
Inkscape <inkscape.org>, Python <python.org>, and
FontTools <github.com/fonttools>.
It originated as a custom font for the open-source
game Xonotic <xonotic.org>. With many thanks to the
Xonotic community for your support.
Supported OpenType features
case Provides case sensitive placement of punctuation,
brackets, and math symbols for uppercase text.
frac Replaces number/number sequences with diagonal fractions.
Numbers that touch a slash should not exceed 10 digits.
kern Provides kerning for Latin, Greek, and Cyrillic scripts.
locl Dutch: Replaces j with a stressed version if it follows í.
Sami: Replaces n-form Eng with the preferred N-form version.
Romanian and Moldovan: Replaces ŞşŢţ with the preferred ȘșȚț.
pnum Replaces monospaced digits with proportional versions.
sinf Replaces digits with scientific inferiors below the baseline.
subs Replaces digits with subscript versions on the baseline.
sups Replaces digits with superscript versions.
zero Replaces zero with a slashed version.
Supported glyph sets
Adobe Latin 3
OpenType W1G
ISO 8859-1 Western European
ISO 8859-2 Central European
ISO 8859-3 South European
ISO 8859-4 North European
ISO 8859-5 Cyrillic
ISO 8859-7 Greek
ISO 8859-9 Turkish
ISO 8859-10 Nordic
ISO 8859-13 Baltic Rim
ISO 8859-14 Celtic
ISO 8859-15 Western European
ISO 8859-16 South-Eastern European
Available glyphs
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
 ¡¢£¤¥¦§¨©ª«¬ ®¯°±²³´µ¶·¸¹º»¼½¾¿
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğ
ĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľ
ĿŀŁłŃńŅņŇňŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞş
ŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽž
ƒǺǻǼǽǾǿȘșȚțȷ
ˆˇˉ˘˙˚˛˜˝
ͺ;΄΅Ά·ΈΉΊΌΎΏΐ
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήίΰ
αβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ
ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОП
РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп
рстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџ
ѢѣѲѳѴѵҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠҡҢңҤҥҦҧҨҩ
ҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽӀӁӂӇӈӋӌӏӐӑӒӓ
ӔӕӖӗӘәӜӝӞӟӠӡӢӣӤӥӦӧӨөӮӯӰӱӲӳӴӵӶӷӸӹ
Ԥԥ
ḂḃḊḋḞḟṀṁṖṗṠṡṪṫẀẁẂẃẄẅẞỲỳ
     ‒–—―‘’‚‛“”„‟†‡•…‰′″‹›‽‾⁄
⁰⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎
₤₦₩₫€₯₱₹₺₽₿
℅ℓ№℗™Ω℮
⅛⅜⅝⅞
←↑→↓
∂∆∏∑−∕∙√∞∟∫≈≠≤≥
■▬▮▰▲▶▼◀◆◊●◢◣◤◥
☄★☠☢☣⚙⚛⚠⚡⛔
❇❈❌❤❰❱❲❳
fffiflffiffl
🌌🌍🌎🌏👽💣🔥🔫
😁😃😄😆😇😈😉😊😎😐😒😕😘
😛😝😞😟😠😣😭😮😲😴😵
🚀
Debugging glyphs
 U+EFFD Font version
 U+F000 Font hinting indicator
Changelog
Xolonium 4.1 2016-11-22 Severin Meyer <sev.ch@web.de>
Reverted frac OpenType feature to a more stable implementation
Xolonium 4.0 2016-10-08 Severin Meyer <sev.ch@web.de>
Decreased width of most glyphs
Thinner vertical stems in Xolonium-Regular
Thicker horizontal stems in Xolonium-Bold
Revised diagonal stems
Lowered middle bars
Revised diacritical bars
Added glyphs:
ӏẞ₿
U+2007 U+2008 U+2009 U+200A U+202F
U+EFFD U+F000
Revised glyphs:
$&,JKQRXkwxy~¢¤ßǻ˜ζκλμξφЖУжћѴѵ∕₱₺₦₩€ℓ№≈ffffiffl
❤🌍🌎🌏😁😄😇😈😉😊😘😭😮😴🚀
Removed uncommon glyphs:
ʼnſʼҌҍҎҏҾҿӃӄӇӈӚӛӪӫӬӭ
U+0312 U+0313 U+0326
Simplified OpenType features pnum, zero, and case
Removed OpenType feature dlig
Revised vertical metrics
Merged outlines of composite glyphs in otf version
Added ttf version with custom outlines and instructions
Added woff and woff2 version
Xolonium 3.1 2015-06-10 Severin Meyer <sev.ch@web.de>
Added currency glyphs:
₦₩₫₱₹₺₽
Revised glyph:
Relicensed public release under the SIL Open Font License 1.1
Xolonium 3.0 2015-05-04 Severin Meyer <sev.ch@web.de>
Decreased width of glyphs
Decreased descender height
Increased height of super/subscript glyphs
Revised width of dashes, underscore, and overscore
Sharper bends with more circular proportions
Decreased stroke thickness of mathematical glyphs
Revised diacritical marks
Revised diacritical bars
Revised Cyrillic hooks
Revised glyphs:
GQRYjmuwßŊŒſƒǻfffiffiffl
ΞΨΩδζιξπςστυφω
ЉЄДЛУЭЯбдлэяєљђєћѢѣҨҩҼҽӃӄӘә
#$&'()*,/69?@[]{}~¡£¤¥§©®¿
‹›₤€₯ℓ№℗℮←↑→↓∂∏∑∞≈▰☄❈❰❱❲❳😝
Raised vertical position of mathematical glyphs
Unified advance width of numeral and monetary glyphs
Unified advance width of mathematical glyphs
Revised bearings
Rewrote kern feature
Bolder Xolonium-Bold with improved proportions
Updated glyph names to conform to the AGLFN 1.7
Revised hints and PS Private Dictionary
Added glyphs:
ӶӷԤԥ
Added OpenType features:
case frac liga locl pnum sinf subs sups zero
Xolonium 2.4 2014-12-23 Severin Meyer <sev.ch@web.de>
Added dingbats:
⛔💣🔥
Revised size and design of emoticons
Revised dingbats:
⌖☄☠☣⚙⚛⚠⚡❇❈🌌🌍🌎🌏🔫
Removed dingbat:
💥
Xolonium 2.3 2014-08-14 Severin Meyer <sev.ch@web.de>
Bugfixed ε and έ, thanks to bowzee for the feedback
Xolonium 2.2 2014-03-01 Severin Meyer <sev.ch@web.de>
Added dingbats:
⌖◆●❌💥
Revised dingbats:
•←↑→↓◊☄★☠☣⚙⚛⚠⚡❇❈❤🌌🌍🌎🌏👽🔫🚀
Removed dingbats:
♻✪💡📡🔋🔧🔭
Xolonium 2.1 2013-10-20 Severin Meyer <sev.ch@web.de>
Added dingbats:
←↑→↓❰❱❲❳■▬▮▰▲▶▼◀◢◣◤◥
☄★☠☢☣♻⚙⚛⚠⚡✪❇❈❤
🌌🌍🌎🌏👽💡📡🔋🔧🔫🔭🚀
😁😃😄😆😇😈😉😊😎😐😒😕
😘😛😝😞😟😠😣😭😮😲😴😵
Xolonium 2.0.1 2013-07-12 Severin Meyer <sev.ch@web.de>
Reorganised and simplified files
Xolonium 2.0 2012-08-11 Severin Meyer <sev.ch@web.de>
Revised bends
Revised thickness of uppercase diagonal stems
Revised diacritical marks
Revised hints and PS Private Dictionary
Revised glyphs:
*1469@DPRly{}§©®¶ÐÞƒΘΞαεζνξνυЄЉЊ
ЏБЗЛУЧЪЫЬЭЯбзлчъыьэяєљњџ•€∂∙√∞∫≠
Completed glyph sets:
Adobe Latin 3
OpenType World Glyph Set 1 (W1G)
Ghostscript Standard (ghostscript-fonts-std-8.11)
Added OpenType kern feature
Added Xolonium-Bold
Xolonium 1.2 2011-02-12 Severin Meyer <sev.ch@web.de>
Revised glyphs:
D·Ðı
Completed glyph sets:
ISO 8859-7 (Greek)
Unicode Latin Extended-A block
Added glyphs:
†‡•…‰⁄™∂∑−√∞≠≤≥
Xolonium 1.1 2011-01-17 Severin Meyer <sev.ch@web.de>
Revised placement of cedilla and ogonek in accented glyphs
Revised glyphs:
,;DKTjkvwxy¥§Ð˛
Completed glyph sets:
ISO 8859-2 (Central European)
ISO 8859-3 (South European, Esperanto)
ISO 8859-4 (North European)
ISO 8859-5 (Cyrillic)
ISO 8859-9 (Turkish)
ISO 8859-10 (Nordic)
ISO 8859-13 (Baltic Rim)
ISO 8859-14 (Celtic)
ISO 8859-16 (South-Eastern European)
Added glyphs:
ȷʼ̒ ЀЍѐѝ‒–—‘’‚‛“”„‟‹›
Xolonium 1.0 2011-01-04 Severin Meyer <sev.ch@web.de>
Completed glyph sets:
ISO 8859-1 (Western European)
ISO 8859-15 (Western European)
Added glyphs:
ĄĆĘŁŃŚŹŻąćęłńśźżıˆˇ˙˚˛˜

94
assets/fonts/LICENSE.txt Normal file
View File

@ -0,0 +1,94 @@
Copyright 2011-2016 Severin Meyer <sev.ch@web.de>,
with Reserved Font Name Xolonium.
This Font Software is licensed under the SIL Open Font License,
Version 1.1. This license is copied below, and is also available
with a FAQ at <http://scripts.sil.org/OFL>
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

7
default_env.tres Normal file
View File

@ -0,0 +1,7 @@
[gd_resource type="Environment" load_steps=2 format=2]
[sub_resource type="ProceduralSky" id=1]
[resource]
background_mode = 2
background_sky = SubResource( 1 )

16
git_api.gdnlib Normal file
View File

@ -0,0 +1,16 @@
[general]
singleton=true
load_once=true
symbol_prefix="godot_"
reloadable=false
[entry]
Windows.64="res://bin/win64/release/libgitapi.dll"
X11.64="res://bin/x11/release/libgitapi.so"
[dependencies]
Windows.64=[ ]
X11.64=[ ]

9
git_api.gdns Normal file
View File

@ -0,0 +1,9 @@
[gd_resource type="NativeScript" load_steps=2 format=2]
[ext_resource path="res://git_api.gdnlib" type="GDNativeLibrary" id=1]
[resource]
resource_name = "GitAPI"
class_name = "GitAPI"
library = ExtResource( 1 )
script_class_name = "GitAPI"

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

34
icon.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.png"
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

39
project.godot Normal file
View File

@ -0,0 +1,39 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=4
_global_script_classes=[ {
"base": "",
"class": "GitAPI",
"language": "NativeScript",
"path": "res://git_api.gdns"
}, {
"base": "Label",
"class": "LineHeader",
"language": "GDScript",
"path": "res://LineHeader.gd"
} ]
_global_script_class_icons={
"GitAPI": "",
"LineHeader": ""
}
[application]
config/name="Picross"
run/main_scene="res://Grid.tscn"
config/icon="res://icon.png"
[gdnative]
singletons=[ "res://git_api.gdnlib" ]
[rendering]
environment/default_environment="res://default_env.tres"