Activity

toni

Thank you, Flavortown and HackClub heart-wx

This is going to be my last devlog ever on ft.
I know, nobody is going to read this because I’ll ship a bit earlier and then all the people trying to be “famous” will be shipping really late so that they can have their message on the top, but wtv.

§

I’m so glad that I discovered this organization called Hack Club where I can win prizes for doing what I love, programming useful and fun software, in C++.

I’ve participated Flavortown on Christmas day christmas-tree-cartoon, with all the experiences and fails I had from previous big ysws events such as High Seas, with the fails being that I discovered this event too late and I’d just discover HackClub as whole heaviestersob

and then SoM, which I was able to win many Digikey credits and from there buy a RPi5 with IFixIt kits yay

In flavortown I started to put my focus on making good and usable out-of-box software, with one of them being indeed oshot. This was my first program ever that involved GUI primarly and being user-friendly first.
I managed to get so so many cookies, prizes and a cooking achivement cuz I switched my focus from complex to good programs demos.

§

While flavortown had some, tremendous, starts and especailly vote/payout issues that was affecting everyone, me included, the devs always listened and were always trying to fix the issues in the vote algorithm. It wasn’t perfect obv, but it was good enough.

I hope that the successor of flavortown being stardance will have a good start and learned lessons from ft regarding votes.

Thank you so much Hack Club for all these opportunities you are giving to teens so that they can cultivate their passion with rewards pixel-hearthug

See you in the next ysws event, hackclubers! salut

Attachment
0
toni

Added counter bubble annotation

You can see from the background how many make took to test the annotation

and running python3 scripts/icon_generator.py && cat tool_icons.h >> include/tool_icons.h && touch src/screenshot_tool.cpp && make for just fixing the icon logo+size pf

Changelog

Attachment
0
toni

added cache, so that you can store things such as previous session color from annotation color picker.
it auto saves when exiting, and please do not edit these if you don’t know what you doing. maybe remove the files/directory if you wish

Changelog

Attachment
0
toni

There has been many changes that should be noted, though some of them are worth mentioning:

  • oshot can now save/copy the whole screenshot if you don’t make a selection
  • added option to use CTRL+C instead of CTRL+SHIFT+C – now it won’t copy the image if the cursor is focused on the text tools window
  • BREAKING: removed socket implementation from linux since we are now using xclip on X11 instead for preserving the clipboard lifetime without having the systray launched.

Changelog

Attachment
Attachment
Attachment
0
toni

Shipped this project!

Hours: 2.81
Cookies: 🍪 73
Multiplier: 25.88 cookies/hr

This ship was mainly for the kernel sidequest, since as of right now there isn’t so much to add in just 9 days, to the end of flavortown

toni

I didn’t do much work on the usage, though I did some refactor of the codebase to use the new rgba_t struct instead of several r/g/b/a ints, with all the shifting confusion because mfs couldn’t make a bare standard all across platforms…

Welp something I did add and fixed is the hot loading of some settings, and the addition of the theme style and filepath settings.

Changelog

Attachment
0
toni

Oshot ricing!!!!

I have read some of your votes suggestions, and decided to listen to them. introducing:

Theme customizations!

Now oshot is no longer just a boring black and blue window, you can finally rice it however you like it! And also be able to match your rice setup, and sharing it on a famous subreddit with a name (I think) violates the CoC of hackclub…

Attachment
Attachment
0
toni

Introducing Preferences window!!

Back from a VACatation indeed. Time to get working on my projects till the end of the event, though no lockin sidequest becuase I have missed week 1 heavysob

0
toni

Shipped this project!

Hours: 38.24
Cookies: 🍪 601
Multiplier: 21.91 cookies/hr

I have added many things including: Tetris, wordle, 2048 and snake
And most important of all, soundtracks and SFX!

I hope y’all enjoy this new ship :)

toni

Introducing Game SFX/Soundtracks!

Please if you want to suggest in the comments any soundtrack or better sfx, please let me know pf

0
toni

Improved UI and decorations, with customizable colors too!

Yeah it looked kind of ugly before and I kinda regret shipping it before, so I have decided to rewrite and improve the general UI with some more decorations and colors customizations!

Things you can notice in the video:

  • The main menu has a colored logo and tagline below it, with also a thin separator line. Also now the selections have a marked yellow color for more accessibility. also a version watermark in bottom-right corner.
  • The settings now have the option to edit the classic terminal colors across the program
  • The items in the games menu now have their own distinct color, along side a small description of the game underneat them.
0
toni

Shipped this project!

Hours: 5.45
Cookies: 🍪 163
Multiplier: 29.83 cookies/hr

I have decided to take part of the optimization side quest, and thanks to that I’ve made a bugfix release for fixing redundant code and useless memory allocations that were silently slowing down the performances. I have also added an “Optimization” section in the README that explains the program optimizations in general, and for that I had a bit of help by Claude for rewording some phrases and making the explanations clearer. Hope y’all enjoy the ship ;)

toni

I’ve decided to participate to the optimization sidequest, and thus I have gone to the lookup of redundant code and memory allocations that were silently slowing up the program. You can see the fixes in b9651a4 (3rd changelog entry), with the addition of the Optimization section in the readme. Since i’m not actually super great with english, some parts have been reworded with claude for a clearer explaination without too many wordplays.

Releasing v0.4.3 soon and ready for the ship!

Changelog

Attachment
0
toni

Added snake game, with a new UTF-8 (optional) style

I have decided to change a bit the gaming style to support UTF-8 characters along side ASCII (normal) ones, instead of setting a big and almost no colors. I’ll update the “Rock Paper Scissors vs CPU” and “Tic-Tac-Toe” games soon.

Thanks to claude for making the apple spawn in a proximated near position instead of far away like my code did

Changelog

0
toni

Shipped this project!

Hours: 122.57
Cookies: 🍪 2812
Multiplier: 29.75 cookies/hr

Note: please read the demo release notes

I’m so happy to ship oshot v0.4
this is the greatest update the project has come across so far. Even though the interface remained similair, a lot of things as changed in the backend.
It was a super challenge rewritting the codebase, from naming convention to its structure.

For instance, the tool has introduced macOS support! Thus making it now cross-platform compatible!

Something that had to be changed was the removal of translation entirely, because it was driving me crazy and it sucked so bad that I’m ashammed of even introducing it in the first place.

For the rest, annotations and QR/Bar codes image scans have been introduced with a lot of other bugs being fixed. The OCR is not perfect, though it’s best used for documents, and sometimes may be wrong at catching up, but it’s all a question of how you select the region to scan the text, and also which language model you are currently using.
I’ll work on improving it from time to time, and patch releases may be done in the future, but you can also help me out by either submitting an issue report or DM me on slack (@toni).

Thank you so much for the patience, and thank you again for trying out my software. <3

Note: please read the release notes

toni

made text annotation input color the same as when placing it. This can be useful if typing in certain backgrounds colors, for example entirely white ones and you can’t see what you typed

0
toni

This devlog is used for reporting every bug fixes I have fixed since v0.4.0-rc1 release.

Changelog

Attachment
0
toni

I wanted to put in this devlog the changes I have done which are mostly fixes on mutli-monitor setup captures, new PRs being created and merged (thanks for the interest!) and other fixes for the new upcoming v0.4.0 release.

Stay tuned!
the image below was taken when there was an issue with multi-monitor setup capture, that’s now been fixed!

Changelog

Attachment
0
toni

Translation has been purged from oshot.
It was a PITA trying to make it work and stable without API keys and subscriptions. The only solution would be to use libretranslate, but I doubt anyone would host a kinda heavy server for just making a screenshot tool translation work.

But as William Afton says: I always come back

Changelog

Attachment
0
toni

MacOS support has arrived

Oh my God. What a journey.
Having to refactor from GLFW to Metal just for macOS was a great PIA. I’m glad the results has shown off though.

It is on a separate branch and will be merged to main after some issues have been fixed. Soon will post the video demo too.

Shootout to @Hridya for testing my program on his mac and allowing me to post a devlog using his screenshot as a preview.

btw I think this took MORE than just 5h sob-pray

Attachment
0
toni

Shipped this project!

Hours: 21.08
Cookies: 🍪 237
Multiplier: 11.26 cookies/hr

I’m so happy to get back on working on this project.
I have made some significant changes, such as refactor of the codebase , debloat and no dependencies, etc.

Hope y’all enjoy classic games on the terminal without having to type annoying inputs

toni

I see….. rewritting from scratch by hand without AI fixed the issue….. Imma removethe AI usage tag soon maybe
(yes I know the blue thing, fixing it)

Attachment
0
toni

wanna be honest, the hours I have logged in this devlog has been just a waste of time for trying to rewritte the TerminalDisplay API (the one that is used for rendering fonts, texts and colors) from notcurses to termbox2.h, which it was giving MASSIVE issues when trying to set a terminal font. No amount of usage from ChatGPT, v0.app and deepseek has helped me at all.

Attachment
0
toni

this meme summarizes what I did in this hour.
I’m sorry windows users but I’ve gone through hell with cmd.exe

Attachment
0
toni

Refactored codebase to be more modular and easier to add games

time to get back to work on this

0
toni

dev stuff: added better result return in functions. instead of unknown failed errors, let’s actually be a bit more precise (a bit buggy ik, fixing it when I want. edit: fixed)
also added the —debug flag in releases build too for reporting issues

0
toni

decided to make a bunch of code cleaning and reformatting, along side adding the portal screenshot capture as fallback on linux. Overall, these changes have been just some fixes such as the refactor of DXGI capture on windows, and code style reformatting. Once the payouts are developed, i’ll add some features and release with a new ship

Attachment
Attachment
0
toni

Shipped this project!

Hours: 32.38
Cookies: 🍪 561
Multiplier: 17.32 cookies/hr

I’ve made this project for the purpose of extracting text on the fly without relaying on online websites that takes ages and are wrong at extracting text.
It’s useful in videogames, extracting and translating text you can’t select, etc.

Please open an issue if any feedback, bug, etc.

Thanks for trying my software :)

toni

still learning glfw+opengl3+imgui

Attachment
1

Comments

toni
toni 4 months ago

in the end is just copying the example code for the main function, and then do the rest with only ImGUI (unless talking about textures)