Register
BEdit » Blog

Jens
22 hours, 48 minutes 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
1 month 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
2 months, 2 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
2 months, 3 weeks 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
3 months, 1 week 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
3 months, 2 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
3 months, 3 weeks 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
4 months, 3 weeks 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
6 months 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
7 months, 1 week 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
7 months, 1 week 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
8 months, 3 weeks 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
9 months, 2 weeks 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 →