Join us on Discord!
You can help CodeWalrus stay online by donating here.

KIMP - a (huge) WIP image/sprite editor for KnightOS

Started by Max Leiter, October 13, 2015, 06:49:20 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Max Leiter

KIMP = KnightOS image manipulation program
I'm new to assembly (and anything calculator related) and decided to try and make a sprite editor for KnightOS. Eventually, it will support KnightOS's image format (and will also require me implementing 'kimg' support into the kernel d: ).

The source code is currently available here: https://github.com/maxleiter/kimp and any suggestions/comments/anything is appreciated.

Here's a quick screenshot



EDIT: Updated image with centered grid

Dream of Omnimaga

Looks good so far. Glad that you got into calculator development. :)

My suggestions would be to move the sprite on the side and the menu further, so that when the menu is open, then we still see the sprite.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

The menu is part of the KnightOS UI. The sprite grid seems to be off center though.

Max Leiter

Centered the grid, looks a lot better. As streetwalrus said, I can't move the 'menu' atm.



For some reason the menu causes the kernel to crash if opened twice, and doesn't really work.

Dream of Omnimaga

Sorry to hear about the crashes. Can you post the source in case people can help?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Ivoah

Quote from: DJ Omnimaga on October 14, 2015, 02:05:00 AM
Sorry to hear about the crashes. Can you post the source in case people can help?

He already gave a link to the source

Quote from: Max Leiter on October 13, 2015, 06:49:20 AM
The source code is currently available here: https://github.com/maxleiter/kimp and any suggestions/comments/anything is appreciated.
  • Calculators owned: TI-86 (now broken), TI SR-56, TI-Nspire CX CAS, TI-84+ SE, TI-84+ SE, TI-85, TI-73 Explorer VS, ViewScreen, TI-84+ CSE, TI-83+ SE

aetios

Hey, that's cool! Regarding the kernel crashes that could very well be related to KOS itself, as it's still a huge WIP in itself ;)
ceci n'est pas une signature

Max Leiter

Quote from: aeTIos on October 14, 2015, 05:29:50 AM
Hey, that's cool! Regarding the kernel crashes that could very well be related to KOS itself, as it's still a huge WIP in itself ;)
The issue is definitely KIMP, as the same menu system is implemented in multiple other KOS apps (fileman, castle, etc)

aetios

Quote from: Max Leiter on October 14, 2015, 05:30:42 AM
Quote from: aeTIos on October 14, 2015, 05:29:50 AM
Hey, that's cool! Regarding the kernel crashes that could very well be related to KOS itself, as it's still a huge WIP in itself ;)
The issue is definitely KIMP, as the same menu system is implemented in multiple other KOS apps (fileman, castle, etc)
If you can't figure it out, maybe ask SirCmpwn? (or anyone else in the KOS IRC channel)
ceci n'est pas une signature

Max Leiter

#9
Quote from: aeTIos on October 14, 2015, 05:31:50 AM
Quote from: Max Leiter on October 14, 2015, 05:30:42 AM
Quote from: aeTIos on October 14, 2015, 05:29:50 AM
Hey, that's cool! Regarding the kernel crashes that could very well be related to KOS itself, as it's still a huge WIP in itself ;)
The issue is definitely KIMP, as the same menu system is implemented in multiple other KOS apps (fileman, castle, etc)
If you can't figure it out, maybe ask SirCmpwn? (or anyone else in the KOS IRC channel)
I've asked multiple times lol, SirCmpwn didn't know (or didn't read it) and Ivoah said he'll help me look into it tomorrow. Other than that it seems like a weird bug. I've tried implementing it in 3 ways, once my own, once basically copied/pasted from Fileman, and one copied/pasted from Calcsys. All of them had basically the same issue, so I think the actual issue may be in another function

EDIT: Ivoah said he took a quick look over it today and didn't see anything wrong with it
EDIT 2: Mostly fixed, the issue was an extra pcall(flushKeys), https://github.com/MaxLeiter/KIMP/commit/fed46d979777c1cedfbb7f697a53a7ce4be7e0d3

Max Leiter

Added a basic cursor, doesn't really like to work yet...


Any suggestions as to how to auto-generate the grid/cursor positions welcome, I have no idea as to how to go about doing it (i. e. input size, generate table)

Max Leiter

Got the cursor to be functional, now to implement actual drawing :)


Dream of Omnimaga

Good to hear. Also what software do you use to make screenshots by the way? I use CamStudio then VirtualDub, but I was curious if any other software could produce smaller GIF file sizes.


Also can your image editor edit grayscale sprites?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Max Leiter

At the moment it has no saving, loading, or editing lol, but the idea is to support kimg (KnightOS's format), grayscale png, and whatever else there is in the calculator community.

I use ffmpeg with x11grab to record. The gif was made with imgur's video-to-gif thing.


Dream of Omnimaga

If you support other formats than KOS, then Axe sprites (hexadecimal data) should probably be supported as well, since Axe is still used sometimes. You would just have to give the hexadecimal of the sprite data to the user so he can write it down. Of course, it's more for people who own two calculators  or an emulator, but it could still be handy.

And I see. Thanks for the info about your video capture setup.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal