Register
BEdit » Blog

Jens
1 month, 2 weeks ago
How do you convert a float to a string?

Ah well, let's deal with that later and just do printf("%f") to buffer!

As the Linux build of BEdit is now officially released, I had a small issue. Localization. Well, you might find this strange as BEdit is only available in English. Why does locale matter in any way or form?

If your Windows is in a non-English language, you know that a lot of applications fail to get the basic locale code correct. For example the MessageBox API-call will display the buttons in whatever language the OS is running in, ... Read More →


Jens
2 months ago
DISCLAMER This post contains information about Windows and Linux, and it might appear that I think one is better than the other. Let's be perfectly honest, they're both bad just in different ways. Please avoid propaganda / dogmatic comments, flame wars are bad for the blood pressure.

------------

Long long time ago when I started entering my first C keywords for the compiler to complain about, I used Knoppix (before that I was happy in Delphi and good ol' QBasic with Windows ME and earlier). But I never really got into C or the OS proper back then, only when ... Read More →


Jens
3 months, 2 weeks ago
New features, new release!

As there were some major improvements for the layout language I decided to jump from 0.1.3.1 straight up to 0.2.0.

New features include ability to assign enum values with a constant expression (enum { Foo = 1 << 3 }) and reflection for struct types. Also some improvements for the GUI including how members are displayed (not yet fully ported to the command line version).

I decided the most appropriate syntax for reflection was
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
struct(Messages, "Hi") MessageHello ...
Read More →


Jens
4 months, 2 weeks ago
I was playing around a bit with pickle files (a python serialization format) and found out very quickly that there are some features in BEdit that needs prioritization.

One of the annoying things BEdit layout language has inherited from C is the horrible conditional chains. C++ tried to "fix it" by adopting object orientation but.. well, it didn't really solve the issue. Consider the following:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
struct DataTypeA
{
    int32 content;
};

struct DataTypeB
{ ...
Read More →


Jens
5 months, 4 weeks ago
I was making a youtube video to showcase how to use BEdit to examine TTF-files, and it was working quite fine. Some quality issues with the audio but we fixed those afterwards but no major issues... except, I found a bug.

Unless I'm mistaken I wrote in the previous post
Jens
This means I will have to restrain myself to not fixing annoyances I find
and well... I failed :D The issue in question was a bug in displaying enum values, but you know - while fixing that I might as well implement a related feature and make a new ... Read More →


Jens
6 months, 1 week ago
New prebuilt command-line version can be found on main page for free and GUI is available on ich io.

As can be seen by the new version number 0.1.2 (and the the open issues list) BEdit is in early development, but still very much in development.

I personally like to program, it's what I do for a living and it's what I do for fun, and I like programming a lot. The greatest problem I have is: what do I spend my time on? Obviously BEdit is one of my more serious projects (I do have some not-so-serious projects ... Read More →


Jens
6 months, 3 weeks ago
Odd thing, the more you test a build the more you find bugs.

I found a couple of bugs in BEdit so I decided to fix the really annoying ones and record the rest, up the version number, and of course make new builds. This also normalizes the version number between the command line and GUI version. Latest version is now 0.1.1

As a side-note, dealing with Windows fonts is pure pain! In a perfect world, a font would be a file (and it is a file) that you can load using your own preferred library. Alas, Windows has other ... Read More →


Jens
6 months, 4 weeks ago
A new year, a new version. But this time, you can actually get a copy of the GUI application!

Although it's rough around the edges, I decided BEdit is ready for the world. You can get it from itch.io, assuming you have a windows computer (other platforms will be coming later) and don't mind playing around with alpha/beta versions.

Development will of course continue, but "getting it out there" is a huge milestone - maybe not for the project but for me personally. Read More →


Jens
7 months ago
Why is BEdit's hex editor not showing me where the members are?

Looking at the hex editor view, it's just a big bunch of numbers that lack meaning. But BEdit is all about giving meaning to numbers! So I set out to display the memory region each member occupies.

First attempt was to draw a line under the memory span. And it looked, well, horrible. Having a bunch of lines all over the place was cluttering up the view, it also failed to take into account that multiple members may occupy the same memory space.

Second attempt, change hex number ... Read More →


Jens
8 months ago
A lot of time lately has gone to experimentation with the GUI (and a lot is still to do). Trying out different keyboard flows, widget styles, colors themes, data structure for quicker searching, copy-paste functionality, you name it! But I decided it was time to do a small functionality addition, signed integers.

I've never really given much more thought than -1 is 0xffff ffff ffff ffff regarding signed integers, so learning about two's complement was educational for me. In the end the implementation was very straight forward and uninteresting, you just flip some bits after all!

If a word ... Read More →


Jens
9 months, 1 week ago
A small update for the layout language, but big enough to up the 3rd digit by one.

I was looking into a feature I've had on my todo list, that also Benjipede asked for on the forum; big endian support. I only know of one file type that uses most significant byte first, png-files, so I decided to see how hard it would be to make a chunk reader. BEdit is not yet mature enough to do a full decompression of the pixel values so I decided on just iterating the chunks, a task version 0.0.2 was not up for. ... Read More →


Jens
10 months, 2 weeks ago
I was just going to make a small post regarding the BEdit UI system as a response to Simon Anciaux questions on my previous blog entry... at least I tried to keep it small.

During my days as game programmer (well, I still develop games but that's not what gets me salary anymore) I had witnessed several UI systems. Java AWT, Android and Apple families of devices with their inbuilt layout editors and system, different games on custom engines with a retained object oriented framework; and even a bit of Unity and Unreal Engine 4. I've even had a run ... Read More →


Jens
10 months, 3 weeks ago
There's a time in every project I've worked on where the TODO-list grows faster than it shrinks and just getting one step forward seems like a daunting task. Although BEdit is a fairly small project, it is no exception to this rule. The only way I've found to get forward is to simply, "just do it!". Today I noticed, I'm having a hard time to figure out what to put in the TODO-list (albeit, it's already of non-trivial size)!

The last month or so almost all development have been for the GUI and to my surprise, simple features like ... Read More →


Jens
1 year ago
Version 0.0.2 released!

There are many practices on how to develop software; OOP, reactive, the "modern C++" way, you name it. I chose what I would call features first.

I could've spent weeks making version 0.0.1 stable, look pretty, reusable, develop the GUI I plan on selling and maybe even making it MISRA C compliant - but instead I decided to develop more features. Only when you know all the features of what the software will contain, do you really know how the product should look as a whole.

As such, with the permission of Molly Rocket Inc. I ... Read More →


Jens
1 year ago
Once upon a time (early previous year), I had a silly idea. Why can't my text editor read binary files?

I've since decided to stop developing the text editor, but a little now and then I went through my git history and found the correct commit where the binary viewer was still functional.

The idea was pretty simple, it took input in the form of
1
2
3
4
5
6
7
struct Data
{
    U32 magic;
    U32 size;
    I32 payload[64]; // Assuming size is 64
};
@0x00 Data

and would output the data in ... Read More →