Skip to content

Commit

Permalink
Merge pull request #48 from Jeremi360:devlog-10-24
Browse files Browse the repository at this point in the history
devlog 10/24
  • Loading branch information
Jeremi360 authored Dec 17, 2024
2 parents 3af2868 + a906d08 commit 9cd2f55
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 0 deletions.
181 changes: 181 additions & 0 deletions _posts/2024-12-17-devlog-10-24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
---
title: "Rakugo Project Devlog #10/24"
date: 2024-12-17
published: true
categories:
- news
- docs
- devlog
author: "Jeremi360"
excerpt: "In this Devlog:
**Update on Incremental Updates**,
**Rakugo Nodes 1.0 release**,
**Godot Fonts Icons 1.0** release is ready to replace*
**Godot Material Icons** and **Emojis for Godot**
"
---

Hi everyone, welcome to **10th** devlog of **Rakugo Project** in year 2024.
If you find my projects useful, you can support the project via **[Patreon]**.
Thank you very much, if you decided to do!

## Update on Incremental Updates

Since a lot of time has passed since the previous devlog,
you might have thought that the switch to the Incremental Updates system was unsuccessful.
The truth is that the assignment I was working on got delayed and only finished at the beginning of this month.

The switch to the Incremental Updates system itself was successful,
but it took some time, because if someone checks the commits to Godot Font Icons,
they will see that they are mostly fixes, with only one new feature added in the meantime.

## Rakugo Nodes v1.0

So what is Rakugo Nodes, and why didn't I say anything about it before?

Well, it's a project that happened and will happen as an incident of other projects.
Because it's an up-to-date collection of different nodes,
that my other projects use, but which can also be used separately.

The first such node is **ButtonContainer**,
it is used by Godot Fonts Icons and will also be used by the next version of **AdvancedText**.
**ButtonContainer** is a node that allows you to easily create a button with non-standard content,
because it is a **Container** that looks and behaves like **Button**, but does not inherit from it.

Here are examples of its use:

![](/images/devlog/ButtonContanier-ex01.gif)

![](/images/devlog/ButtonContanier-ex02.gif)

![](/images/devlog/ButtonContanier-ex03.gif)

**You can [Download it from here](https://github.com/rakugoteam/Rakugo-Nodes/releases).**


## Godot Icons Fonts v1.0

***Compatible with Godot 4.1+***

Makes easy to find and use icons from popular icon-fonts in your Godot project.

## What problems it solves:

### You only needs this addon - as you don't have:
1. to go online find font
1. then find icon
1. check icon licence - and maybe you need to search for another
1. finally download it

### Better alterative to Godot's build emojis as
- to use them you need to find unicode online
- they don't work on some platforms for example Web
- they are outdated

## Included

### Dependencies
- [Rakugo Nodes](https://github.com/Jeremi360/Rakugo-Nodes)

### Icons Fonts
- [*Templarian's Material-Design-Icons*](https://github.com/templarian/MaterialDesign), </br>
a collection of icons for the [Material Design](https://material.io/) specification.
- [Google Noto Emojis Color font][noto-emoji]

*Material-Design-Icons*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/mi-docked.png)

*Noto-Emojis*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/emojis-docked.png)

### Resource
**FontIconSetting** - Resource for setting which and how to display FontIcon.

![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/font-icon-settings.png)

### Nodes
- **FontIcon**: Control Node that displays IconFont.
- **FontIconButton**: Button* That have IconFont and can have label.
- **FontIconCheckButton**: CheckButton* That have IconFont and can have label.

\* - Those nodes behaves like button,
but they don't extends from **Button**.

*FontIcon*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/mi-font-icon.png)

*FontIconButton*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/emoji-button.png)

*FontIconCheckButton*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/mi-check-button.png)

### Singleton
**IconsFonts** is singleton for easier use of icons anywhere in your project.

## In Editor
It's adds **IconsFinder** (docked to bottom by default).
So you can find the icons easily, click on icon to get its name to clipboard.
It can be in dock mode at bottom or in window mode.

That can be switched in Godot's **Tools** menu.
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/menu-tools.png)

Or using *Command Pallet* (`Ctrl+Shift+P`)
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/command-pallet.png)

*docked mode*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/mi-docked.png)

*window mode*
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/emojis-window.png)

## Using it with RichTextLabel
You can use the icons in RichTextLabel.

![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/rich-text-icons.png)

```gdscript
@tool
extends RichTextLabel
@export_multiline
var text_with_icons: String:
set(value):
if !is_node_ready(): await ready
text_with_icons = value
bbcode_enabled = true
text = IconsFonts.parse_text(value)
get: return text_with_icons
func _ready():
bbcode_enabled = true
text = IconsFonts.parse_text(text_with_icons)
```

## Exporting
For emojis to work in exported projects,
you need add `*.json` files to include files settings:
![](https://github.com/rakugoteam/Godot-Icons-Fonts/raw/godot-4/.assets/export.png)

## Know Issues
- Window mode is init with empty icons render*

\**To fix just change back-and-forward to icon font you want to use.*

## Compatibility
This addon is replacing our previous to addons:
- [Godot Material Icons](https://github.com/rakugoteam/Godot-Material-Icons)
- [Emojis For Godot](https://github.com/rakugoteam/Emojis-For-Godot)

We had broken backward compatibility with them for those reasons:
- In feature we want to support more IconsFonts so we can use `[icon:icons-name]` in text parsing.
- We redesigned how addon works under the hood
- We had too rename nodes

**You can [Download it from here](https://github.com/rakugoteam/Godot-Icons-Fonts/releases/).**

_Merry Christmas, and see you in Happy New Year!_

[Patreon]: https://www.patreon.com/rakguoteam
Binary file added images/devlog/ButtonContanier-ex01.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/devlog/ButtonContanier-ex02.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/devlog/ButtonContanier-ex03.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9cd2f55

Please sign in to comment.