This commit is contained in:
halfstar 2026-10-24 17:18:55 +00:00
commit 110169a933
26 changed files with 4022 additions and 0 deletions

42
.gitattributes vendored Normal file
View file

@ -0,0 +1,42 @@
# Defold Protocol Buffer Text Files (https://github.com/github/linguist/issues/5091)
*.animationset linguist-language=JSON5
*.atlas linguist-language=JSON5
*.camera linguist-language=JSON5
*.collection linguist-language=JSON5
*.collectionfactory linguist-language=JSON5
*.collectionproxy linguist-language=JSON5
*.collisionobject linguist-language=JSON5
*.cubemap linguist-language=JSON5
*.display_profiles linguist-language=JSON5
*.factory linguist-language=JSON5
*.font linguist-language=JSON5
*.gamepads linguist-language=JSON5
*.go linguist-language=JSON5
*.gui linguist-language=JSON5
*.input_binding linguist-language=JSON5
*.label linguist-language=JSON5
*.material linguist-language=JSON5
*.mesh linguist-language=JSON5
*.model linguist-language=JSON5
*.particlefx linguist-language=JSON5
*.render linguist-language=JSON5
*.sound linguist-language=JSON5
*.sprite linguist-language=JSON5
*.spinemodel linguist-language=JSON5
*.spinescene linguist-language=JSON5
*.texture_profiles linguist-language=JSON5
*.tilemap linguist-language=JSON5
*.tilesource linguist-language=JSON5
# Defold JSON Files
*.buffer linguist-language=JSON
# Defold GLSL Shaders
*.fp linguist-language=GLSL
*.vp linguist-language=GLSL
# Defold Lua Files
*.editor_script linguist-language=Lua
*.render_script linguist-language=Lua
*.script linguist-language=Lua
*.gui_script linguist-language=Lua

11
.gitignore vendored Normal file
View file

@ -0,0 +1,11 @@
/.editor_settings
/.internal
/build
.externalToolBuilders
.DS_Store
Thumbs.db
.lock-wscript
*.pyc
.project
.cproject
builtins

BIN
assets/NotoSans-Regular.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
name: "main"
scale_along_z: 0
embedded_instances {
id: "go"
data: "components {\n"
" id: \"example\"\n"
" component: \"/example/example.gui\"\n"
"}\n"
""
}

76
example/example.gui Normal file
View file

@ -0,0 +1,76 @@
script: "/example/example.gui_script"
fonts {
name: "japanese"
font: "/example/fonts/japanese.font"
}
fonts {
name: "chinese"
font: "/example/fonts/chinese.font"
}
fonts {
name: "chinese_traditional"
font: "/example/fonts/chinese_traditional.font"
}
fonts {
name: "devanagari"
font: "/example/fonts/devanagari.font"
}
fonts {
name: "korean"
font: "/example/fonts/korean.font"
}
fonts {
name: "thai"
font: "/example/fonts/thai.font"
}
fonts {
name: "arabic"
font: "/example/fonts/arabic.font"
}
fonts {
name: "noto_sans"
font: "/example/fonts/noto_sans.font"
}
nodes {
position {
x: 240.0
y: 600.0
}
size {
x: 400.0
y: 500.0
}
color {
x: 0.3019608
y: 0.3019608
z: 0.3019608
}
type: TYPE_BOX
id: "box1"
pivot: PIVOT_N
inherit_alpha: true
size_mode: SIZE_MODE_AUTO
}
nodes {
position {
x: 240.0
y: 600.0
}
scale {
x: 0.5
y: 0.5
}
size {
x: 800.0
y: 1000.0
}
type: TYPE_TEXT
text: "text"
font: "noto_sans"
id: "text1"
pivot: PIVOT_N
inherit_alpha: true
}
material: "/builtins/materials/gui.material"
adjust_reference: ADJUST_REFERENCE_PARENT
max_nodes: 2048

136
example/example.gui_script Normal file
View file

@ -0,0 +1,136 @@
local typewriter = require "typewriter.typewriter"
local ZWSP = "\226\128\139"
local example0 = "Lorem ipsum dolor sit."
local example1 = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example2 = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum."
local example3 = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
local example_mix = [[Text <ul>Underline</ul> <color=#FF0000>Color</color>
<gradient left=#FF00FF right=#FFFFFF>Horizontal</gradient> <gradient bottom=#00FF00 top=#0000FF>Vertical</gradient> <gradient fit=glyph tl=#FF0000 tr=#00FF00 bl=#0000FF br=#FFFFFF>Corners</gradient>
<gradient hz=1.0 fit=glyph bottom=#FFFFFF top=#008080>Animated</gradient>
<shake hz=12 amplitude=2.0 fit=glyph>Shake</shake> <wave amplitude=4 hz=3 wavelength=8 fit=glyph>Wave</wave>]]
local example_color = "Lorem ipsum dolor sit amet, <color=#FF8800>consetetur sadipscing elitr,</color> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_color_2 = "Lorem ipsum dolor sit amet, <color=#FF8800>consetetur <color=#88FF00>sadipscing</color> elitr,</color> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_size = "Lorem ipsum dolor sit amet, <size='150%'>consetetur sadipscing elitr,</size> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_shake = "Lorem ipsum dolor sit amet, <shake hz=12 amplitude=2.0 fit=glyph>consetetur sadipscing elitr,</shake> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_shake_span = "Lorem ipsum dolor sit amet, <shake hz=12 amplitude=2.0 fit=span>consetetur sadipscing elitr,</shake> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_wave = "Lorem ipsum dolor sit amet, <wave amplitude=4 hz=3 wavelength=8 fit=glyph>consetetur sadipscing elitr,</wave> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_wave_chunk = "Lorem ipsum dolor sit amet, <chunk><wave amplitude=4 hz=3 wavelength=8 fit=glyph>consetetur sadipscing elitr,</wave></chunk> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_wave_block = "Lorem ipsum dolor sit amet, <block><wave amplitude=4 hz=3 wavelength=8 fit=glyph>consetetur sadipscing elitr,</wave></block> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_gradient_h = "Lorem ipsum dolor sit amet, <gradient left=#FF00FF right=#FFFFFF>consetetur sadipscing elitr,</gradient> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_gradient_h_full = "<gradient left=#FF00FF right=#FFFFFF>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</gradient>"
local example_gradient_v_anim = "Lorem ipsum dolor sit amet, <gradient hz=0.25 fit=glyph bottom=#182848 top=#4B6CB7>consetetur sadipscing elitr,</gradient> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_gradient_corners = "Lorem ipsum dolor sit amet, <gradient fit=glyph tl=#FF0000 tr=#00FF00 bl=#0000FF br=#FFFFFF>consetetur sadipscing elitr,</gradient> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_gradient_corners_span = "Lorem ipsum dolor sit amet, <gradient fit=span tl=#FF0000 tr=#00FF00 bl=#0000FF br=#FFFFFF>consetetur sadipscing elitr,</gradient> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_ul = "Lorem ipsum dolor sit amet, <ul>consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt</ul> ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_ul_dashed = "Lorem ipsum dolor sit amet, <ul pattern=dashed>consetetur sadipscing elitr,</ul> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_strike = "Lorem ipsum dolor sit amet, <strike>consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt</strike> ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_word = "Lorem ipsum dolor <word>sit amet</word>, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_chunk = "Lorem ipsum dolor <chunk>sit amet</chunk>, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_block = "Lorem ipsum dolor <block>sit amet</block>, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_sync = "Lorem ipsum dolor <sync>sit amet</sync>, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_letter = "Lorem ipsum dolor <letter>sit amet</letter>, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_chunk_shake = "Lorem ipsum dolor <chunk><shake hz=12 amplitude=2.0 fit=glyph>sit amet</shake></chunk>, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_gradient_h_anim_chunk = "Lorem ipsum dolor <chunk><gradient hz=0.25 fit=glyph left=#182848 right=#4B6CB7>sit amet</gradient></chunk> consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_sprite_atlas = "Lorem ipsum dolor sit <sprite src=example animation=logo_256 width=1em/> amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_sprite_resource = "Lorem ipsum dolor sit <sprite src=/assets/logo_256.png width=1em height=1em/> amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_wait = "Lorem ipsum dolor sit amet,<wait=1.5> consetetur sadipscing elitr,<wait> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,<wait> sed diam voluptua."
local example_shadow = "Lorem ipsum dolor sit amet, <shadow x=6 y=-6 blur=16 color=#000000A0>consetetur sadipscing elitr,</shadow> sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
local example_entities = "<letter>&amp;</letter> <letter>&apos;</letter> <letter>&gt;</letter> <letter>&lt;</letter> <letter>&quot;</letter>"
local example_zwsp = "L"..ZWSP.."orem ipsum dolor sit a"..ZWSP.."met."
local example_english = "All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood."
local example_arabic = "يولد جميع الناس أحرارًا متساوين في الكرامة والحقوق. وقد وهبوا عقلاً وضميرًا وعليهم أن يعامل بعضهم بعضًا بروح الإخاء."
local example_japanese = "すべての人間は、生まれながらにして自由であり、かつ、尊厳と権利と について平等である。人間は、理性と良心とを授けられており、互いに同 胞の精神をもって行動しなければならない。"
local example_chinese = "人人生而自由,在尊严和权利上一律平等。他们赋有理性和良心,并应以兄弟关系的精神相对待。"
local example_chinese_t = "人人生而自由,在尊嚴及權利上一律平等。他們賦有理性和良心,並應以兄弟關係的精神相對待。"
local example_korean = "모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제애의 정신으로 행동하여야 한다."
local example_greek = "'Ολοι οι άνθρωποι γεννιούνται ελεύθεροι και ίσοι στην αξιοπρέπεια και τα δικαιώματα. Είναι προικισμένοι με λογική και συνείδηση, και οφείλουν να συμπεριφέρονται μεταξύ τους με πνεύμα αδελφοσύνης."
local example_russian = "Все люди рождаются свободными и равными в своем достоинстве и правах. Они наделены разумом и совестью и должны поступать в отношении друг друга в духе братства."
local example_persian = "تمام افراد بشر آزاد به دنیا می‌آیند و از لحاظ حیثیت و حقوق با هم برابرند. همه دارای عقل و وجدان می‌باشند و باید نسبت به یکدیگر با روح برادری رفتار کنند."
local example_vietnamese = "Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và quyền. Mọi con người đều được tạo hoá ban cho lý trí và lương tâm và cần phải đối xử với nhau trong tình bằng hữu."
local example_german = "Alle Menschen sind frei und gleich an Würde und Rechten geboren. Sie sind mit Vernunft und Gewissen begabt und sollen einander im Geist der Brüderlichkeit begegnen."
local example_emoji = "🥰💀✌️🌴🐢🐐🍄⚽🍻👑📸😬👀🚨🏡🕊️🏆😻🌟🧿🍀🎨🍜"
local example_ = ""
local example_multiple_lanugages = example_arabic.." "..example_english
-- Does not work yet
local example_thai = "มนุษย์ทั้งหลายเกิดมามีอิสระและเสมอภาคกันในเกียรติศักดิ์และสิทธิ ต่างมีเหตุผลและมโนธรรม และควรปฏิบัติต่อกันด้วยเจตนารมณ์แห่งภราดรภาพ"
local example_hindi = "सभी मनुष्यों को गौरव और अधिकारों के मामले में जन्मजात स्वतन्त्रता और समानता प्राप्त है । उन्हें बुद्धि और अन्तरात्मा की देन प्राप्त है और परस्पर उन्हें भाईचारे के भाव से बर्ताव करना चाहिए ।"
local example_arabic_short = "يولد جميع الناس أحراراً ومتساوين في الكرامة والحقوق."
local example_arabic_tashkeel = "يُولَدُ جَمِيعُ النَّاسِ أَحْرَارًا وَمُتَسَاوِينَ فِي الْكَرَامَةِ وَالْحُقُوقِ."
local example_ar_number = "ٱللُّغَةُ ٱلْعَرَبِيَّة هي أكثر اللغات السامية تحدثًا، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 467 مليون نسمة."
local example_ar_shake = "<shake hz=12 amplitude=2.0 fit=glyph>ٱللُّغَةُ ٱلْعَرَبِيَّة هي أكثر اللغات السامية تحدثًا، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 467 مليون نسمة.</shake>"
local text1 = example_japanese
local text2 = example_arabic
function init(self)
msg.post(".", "acquire_input_focus")
local options = {
--speed = 5,
fadein_duration = 0.2,
fadeout_y = 16,
fadein_x = -8,
fadein_y = 12,
fadeout_duration = 0.1,
--scale = 1.5,
--scale = vmath.vector3(0.5, 1.0, 1.0),
--alignment = "right",
--balanced = true,
--alignment = "center",
--alignment = "justified",
--width = 100,
--width = 1,
--leading = 1.5,
--tracking = 0.2,
--disable_auto_blocking = true,
fonts = {
arabic = "arabic",
chinese = "chinese",
chinese_traditional = "chinese_traditional",
devanagari = "devanagari",
japanese = "japanese",
korean = "korean",
thai = "thai",
},
}
self.textbox = typewriter.new(gui.get_node("text1"), options, function() end)
self.textbox:type(text1)
--gui.set_texture(gui.get_node("box"), "example")
--gui.play_flipbook(gui.get_node("box"), "logo_256")
end
function update(self, dt)
end
function on_message(self, message_id, message, sender)
end
local test = false
function on_input(self, action_id, action)
if action.pressed then
--if self.textbox:continue() then
--self.textbox:type(text1)
--end
if test then
--self.textbox:type(text1)
self.textbox:animate({scale = 1.0, alignment = "left"}, 0.2, gui.EASING_OUTSINE)
--self.textbox2:type(text2)
test = false
else
--self.textbox:finish()
self.textbox:animate({scale = 1.5, alignment = "right"}, 0.2, gui.EASING_OUTSINE)
--self.textbox2:finish()
test = true
end
end
end

20
example/fonts/arabic.font Normal file
View file

@ -0,0 +1,20 @@
font: "/assets/NotoSansArabic-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

View file

@ -0,0 +1,20 @@
font: "/assets/NotoSansSC-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

View file

@ -0,0 +1,20 @@
font: "/assets/NotoSansTC-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

View file

@ -0,0 +1,20 @@
font: "/assets/NotoSansDevanagari-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

View file

@ -0,0 +1,20 @@
font: "/assets/NotoSansJP-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

20
example/fonts/korean.font Normal file
View file

@ -0,0 +1,20 @@
font: "/assets/NotoSansKR-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

View file

@ -0,0 +1,20 @@
font: "/assets/NotoSans-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

23
example/fonts/thai.font Normal file
View file

@ -0,0 +1,23 @@
font: "/assets/NotoSansThai-Regular.ttf"
material: "/builtins/fonts/font-df.material"
size: 64
output_format: TYPE_DISTANCE_FIELD
all_chars: true
cache_width: 4096
cache_height: 4096
characters: " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
styles {
name: "default"
}
styles {
name: "link"
markup: "<color=#1972e5><ul>"
}
styles {
name: "link:hover"
markup: "<color=#4ca5ff>"
}
styles {
name: "link:active"
markup: "<color=#0c4cb2>"
}

97
example/main.appmanifest Normal file
View file

@ -0,0 +1,97 @@
platforms:
arm64-ios:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
frameworks: []
linkFlags: []
arm64_sim-ios:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
frameworks: []
linkFlags: []
armv7-android:
context:
excludeLibs: [font]
excludeJars: []
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []
jetifier: true
arm64-android:
context:
excludeLibs: [font]
excludeJars: []
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []
jetifier: true
x86_64-android:
context:
excludeLibs: [font]
excludeJars: []
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []
jetifier: true
arm64-osx:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
frameworks: []
linkFlags: []
x86_64-osx:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
frameworks: []
linkFlags: []
x86_64-linux:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []
arm64-linux:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []
x86_64-win32:
context:
excludeLibs: [font]
excludeSymbols: []
symbols: []
libs: [font_skribidi, libharfbuzz, libsheenbidi, libunibreak, libskribidi]
linkFlags: []
wasm-web:
context:
excludeLibs: [font]
excludeJsLibs: []
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []
wasm_pthread-web:
context:
excludeLibs: [font]
excludeJsLibs: []
excludeSymbols: []
symbols: []
libs: [font_skribidi, harfbuzz, sheenbidi, unibreak, skribidi]
linkFlags: []

27
game.project Normal file
View file

@ -0,0 +1,27 @@
[bootstrap]
main_collection = /example/example.collectionc
[display]
width = 960
height = 640
high_dpi = 1
[android]
input_method = HiddenInputField
[physics]
gravity_y = -1000.0
scale = 0.01
[html5]
scale_mode = stretch
[project]
title = test
[native_extension]
app_manifest = /example/main.appmanifest
[font]
runtime_generation = 1

4
input/game.input_binding Normal file
View file

@ -0,0 +1,4 @@
mouse_trigger {
input: MOUSE_BUTTON_1
action: "touch"
}

3456
typewriter/typewriter.lua Normal file

File diff suppressed because it is too large Load diff