LINK! version 0.7 — Writer's Update


After a month of work, a week of deliberating what my GIFs should be about and a day of recording and editing, I am excited to announce LINK! version 0.7!

We’ll get to all the nitty gritty but first, I want to show off all that hard work:

Editing Text & Moving Notes

This is where a bulk of my time spent on LINK! went so naturally I found a lot of bugs.

It’s not perfect and I want to stress that while LINK! is still very much in early development and riddled with bugs, it’s much better than before.

More on that in a bit.

Auto Wrapped Text

You’re probably familiar with the big feature: auto wrapping.

I’ve set some reasonable defaults in the file “game.cfg” that you can find in the same folder as “link.exe” but the autowrapping feature can be changed per note.

While editing a note, press the F5 key. Once shows you the current option, twice changes it (which by default will disable it). Press it again to re-enable it.

To change the wrap limit, press F5 and if autowrap is enabled (look at the status bar), press the left and right arrow keys to change the wrap limit.

Cursor Moving Off Screen? No Problem!

Now, while editing a note, if the cursor goes off screen, the camera will follow it.

Creating a New Note While Editing a Note

Simply press Ctrl+Enter and a new note will be created directly under the one being edited. Great for making lists.

Note: Currently Shift+Enter will also work but that’ll be dropped in future releases.

Moving Notes

While editing, press Tab to move one cell to the right and Shift+Tab to move one cell to the left.

Also, pressing Ctrl+Arrow Key will move the note one cell in the direction of the Arrow Key.

Other Changes

The mouse cursor will now disappear while typing.

Use Ctrl+[ as an alternative to Esc.

Note Types: Tasks & Headings

Creating a task? Start a note with an asterisk and a space:

* A task to complete

Want something that makes an impression and can be visible even when zoomed out? Use the command :h1:

:h1
Heading

Everything after the first line will be rendered like a regular note, just with a larger font size.

New Behavior

Modifing Note Types

All notes types are defined by what I’ve been calling “commands”. The first command being :goto.

Previously, it was necessary to press the button that popped up when the command is recognized but now all notes are automatically converted when you’re done editing the note.

Granted, this may produce some unwanted behavior (such as not wanting to modify the note type but being forced to). While I’m sure I’ll eventually add an in app option, for now it’s possible to remove the note type by editing the .link file manually.

I’ll leave this up as an exercise for the reader, but if you need any help with modifying a .link file manually, leave a comment below.

Navigating

Notes must first be selected before moving them. Now, when you click a note and move the mouse, the camera will be moved instead.

Command Buttons

Due to being able to edit a command button by double clicking it, activating a command cannot happen the instant the mouse button is released.

To get around this limitation, I added a little animation to show that something was happening before it activates. Previously, the animation would start when the mouse button was released, but it now starts as soon as it’s clicked.

Scale Levels

When I first added scaling, I use a simple algorithm to do the job.

Now all scale levels have been hand picked for their coolness factor.

I could go into more detail but there was a bit of nuance involved so for now, I’d suggest just checking it out yourself.

Themes & Customization

All options below (and more) can be modified in “game.cfg” found in the base directory with “link.exe”.

Grids

By default, grid dots are shown every cell with major axes every 64 cells displayed as thick lines.

Color Customization

It’s now possible to customize the programs colors. Default is now a light theme, the old LINK! theme is available, and all colors

Variable Width Font

It may not seem like much, but programming for a font where each character is guaranteed to be X number of pixels wide is much easier than most characters being whatever width they want.

But variable width fonts are much prettier to look at so I took the plunge.

By default, Crimson Pro, a serif style font, will be used for all new files. In order to not completely fuck up your old .link files, the font will not be changed automatically.

Additional fonts support will be added but for now there are two options: fixed and serif, which can be modified in “game.cfg”.

Other Fixes & Improvements

LINK! had many problems, such as mishandling of Unicode strings, numerous visual glitches, a great deal of unstable editing oddities, mouse inputs that shouldn’t happen, human intervention for packaging release, and many more I can’t be bothered to mention.

I mean, it still does have many problems but at least there’s a few less.

Performance

This is the leanest version of LINK yet!

I’m not sure if I’ll ever achieve true 0% usage as I’m running into some framework limits that are likely inherited from LÖVE and more likely SDL.

However, on average the program uses about 0.5% CPU and 0% GPU.

While in use (such as moving the camera and typing) it does spike the CPU to around 2-3% but this is brief and in my experience, the app is sitting idle most of the time.

What’s Next?

I figure the next release will be trying to flush out additional bugs and fix ones I’ve already noticed.

They’re mostly superficial but one involves how I process input while editing notes. Currently, entering text, adding newlines, and removing text with backspace and delete happens in a program specific order rather than when they were captured.

I’ll need to dig deep into my input processing code to fix this one. It’s been awhile since I’ve had to mess with this code and while I’m optimistic this won’t be a miserable change, I am a little worried.

Otherwise, I have a couple of features in the works, but more on that at a later time.

Files

LINK! version 0.7 — Writer's Update 3 MB
Oct 09, 2021

Get LINK!

Leave a comment

Log in with itch.io to leave a comment.