Main Menu

News:

LINKS: Website | Steam | Wiki

REXPaint questions/bugs?

Started by izzy, December 02, 2015, 01:20:53 PM

Previous topic - Next topic

izzy

Sooo.

Let me shortly summ what I have found in program, that to me it seems as bug.
- After you save your work, and exit the program, then reload your work again, pallete is not as it was before exit, and all layers are visible again (even if there were hidden layer)
- When I'm changing color, and I click for example on R edit field to change R value, first character press is always ignored, so to enter 15, I need to press 1 twice.

And one question. In binary format when I load the data after all layer data is loaded there is excess cc 100 bytes left. Is this data important, or can I just ignore it?

regards
Izzy

Kyzrati

Quote from: izzy on December 02, 2015, 01:20:53 PM
- After you save your work, and exit the program, then reload your work again, pallete is not as it was before exit, and all layers are visible again (even if there were hidden layer)
"It's a feature, not a bug." :)

You have to manually save your palette by pressing the 'S' button below the palette. This is to allow you to make temporary changes to a palette without permanently affecting the palette file, which you may not want to change.

And layer UI settings information is not stored for images. (Not that there's a lot to save--they don't even have names, just a hide and lock state.) This is intentional. I've considered having that stored in a separate file, but it would be unwieldy and problematic for several reasons, and the information isn't something I'd like to store in the .xp file, which is intended to be pure image information, so it's better left out. You only have a few layers, anyway. Their states will only be stored until the program is closed, to help with cases where you're editing lots of files at once (which is what I'm often doing).

Quote from: izzy on December 02, 2015, 01:20:53 PM
- When I'm changing color, and I click for example on R edit field to change R value, first character press is always ignored, so to enter 15, I need to press 1 twice.
Good catch! I never click on those since it's faster to use the keyboard, so I hadn't encountered that one before. I'll fix that for the "real" 1.0 release (I know you're currently using the 1.0 preview version).

(Note that you can simply type "R15"+[Enter] and it will change that color for you. No need to use the mouse. All dialogue buttons are available as hot keys like this.)

Quote from: izzy on December 02, 2015, 01:20:53 PM
And one question. In binary format when I load the data after all layer data is loaded there is excess cc 100 bytes left. Is this data important, or can I just ignore it?
I'm not sure where you're getting extra data, since nothing is stored after the image itself. The file composition is exactly what's shown in the manual specs. As long as you're getting your image as drawn, I wouldn't worry about it, but I noticed you wrote your own reader. Just make sure it does what the other readers are doing and you should be safe. (Maybe it has to do with gzip? I don't know.)
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

izzy

Quote
I'm not sure where you're getting extra data, since nothing is stored after the image itself. The file composition is exactly what's shown in the manual specs. As long as you're getting your image as drawn, I wouldn't worry about it, but I noticed you wrote your own reader. Just make sure it does what the other readers are doing and you should be safe. (Maybe it has to do with gzip? I don't know.)

Hm I never really check what other readers do. It's plain simple to load and store everything in one struct, so I never bothered myself to check.
And actually everything loads correctly (however I do get one error on th end). I just assumed that gzip is gzip whatever you are using.

Thank you for tips on shortcuts :)

izzy

There is also one strange behaviour, I think is not intended, but it may be a feature, I don't know.

If I Ctrl+C, then Ctrl+P one piece of picture, then go to to Browse window, select another document I will see pasted content, and that's ok probably. And then I accidentally clicked on it, then tried to undo (CTrl+Z) while in browser window, but nothing happened. Although I was able to put pasted content on another picture. Not a big deal, just wanted to mention it.

And two questions:
1. If layer data is not stored in xp files, then why the document is marked dirty if I switch one layer off? :)
2. Is there any reason that in xp files, layer's width and height is saved for all layers?

Kyzrati

To the first issue, that's a side effect of being allowed to apply changes while in browse mode (using your current cool--you can't change tools), but not do most other actions. You're not really supposed to be editing in browse mode, but if you want to quick edits are still possible (without changing tools), but you won't have access to the full range of input. Of course you can still properly undo any changes once you switch out of browse mode.

1. Good question :). That's because the dirty indicator is based on the document's undo/redo state, which includes any changes that even indirectly affect edits to the image, such as layer visibility or lock state. It would be nice to go one step further and have the system ignore those particular states for the purposes of the indicator. That gets annoying for me sometimes, too. The implementation would just be a little more complicated. I'll put it on the TODO list for consideration. Still need to set aside some time to finalize 1.0... (there are a couple little bugs to fix first).

2. The reason has to do with how my engine loads and stores consoles. Each layer is a separate console, and the simplified serialization methods can read/write/copy consoles individually, so they need to carry their own dimensions as a standard.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

izzy

Thank you for your reply.

I would like to request a feature :), or at least ask for right click behaviour enhancement.

By clicking CTRL+Right mouse, to fetch uppermost visible glyph . For example if I am on layer 1, but layer 4 is visible and there is glyph on it, that I could fetch it without leaving current layer.
I found myself constantly checking on which layer I have graphic, hiding/showing layers, selecting glyph then going back to working layer. And sometimes I right click glyph, then I'm confused by  moment why
there isn't any glyph selected (I was on wrong layer).



Kyzrati

I can see that working, although it would have to follow the normal copy rules in that it would copy whatever glyph/fore/back are there based on which modes are currently active. The only difference would be that by using ctrl it would copy from the uppermost visible layer rather than the active layer like it normally does.

I'd like to say I'd add this for sure, but it seems like a rather specific case unique to your workflow, not something that many others would use. If as described it would work for you, I could still consider adding it and later make it an option if necessary to recover the command for a more general purpose at some point.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

izzy

Quote from: Kyzrati on December 07, 2015, 07:56:37 AM
I can see that working, although it would have to follow the normal copy rules in that it would copy whatever glyph/fore/back are there based on which modes are currently active. The only difference would be that by using ctrl it would copy from the uppermost visible layer rather than the active layer like it normally does.

Of course I had in mind that it would copy glyph/fore color/back color. I wouldn't change that, that's perfect mode.

Maybe I wasn't fully clear. If you have for example all 4 layers visible, it will copy glyph/colors you see actually on screen, regardless on which layer you are.  So if you have glyph on layer 2 and 3 it will copy glyph from 3rd layer (if they are visible ofc).

Quote from: Kyzrati on December 07, 2015, 07:56:37 AM
I'd like to say I'd add this for sure, but it seems like a rather specific case unique to your workflow, not something that many others would use. If as described it would work for you, I could still consider adding it and later make it an option if necessary to recover the command for a more general purpose at some point.

Don't see why it is specific workflow for me. I find this really useful. Lets say you have on 2nd layer sorted glyphs you use for drawing, and you work on layer 1 (or you have specific colors on layer 2, like more shades of certain color). Normally in current version you switch to layer 2, copy glyph/color, switch to layer 1, draw. And do that several hundred times :) In my recomendation, you always stay on layer 1, with ctrl right clicking glyphs/colors.

Aren't you working like that? Wouldn't that be beneficial for others also?

I wouldn't request something only I would use.

Kyzrati

Quote from: izzy on December 07, 2015, 01:41:32 PM
Maybe I wasn't fully clear. If you have for example all 4 layers visible, it will copy glyph/colors you see actually on screen, regardless on which layer you are.  So if you have glyph on layer 2 and 3 it will copy glyph from 3rd layer (if they are visible ofc).
Right, that's how I understood you.

Quote from: izzy on December 07, 2015, 01:41:32 PM
Don't see why it is specific workflow for me. I find this really useful. Lets say you have on 2nd layer sorted glyphs you use for drawing, and you work on layer 1 (or you have specific colors on layer 2, like more shades of certain color). Normally in current version you switch to layer 2, copy glyph/color, switch to layer 1, draw. And do that several hundred times :) In my recomendation, you always stay on layer 1, with ctrl right clicking glyphs/colors.

Aren't you working like that? Wouldn't that be beneficial for others also?
I use sorted arrangements of glyphs, as I've shown before, but I keep them on the same layer I'm working on, so I don't have that issue. In fact, even if this feature were implemented, I probably still wouldn't use it myself--keeping in the same layer saves having to click on Ctrl.

One thing I do if my image grows to the boundaries and there's no room for the glyphs is resize the image to make it larger than I want, to have an extra work area outside the borders--that can always be removed later.

Still, given the explanation of your use case I definitely see the value in it now and it shall be done!
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

izzy

Thank you!

I just saw your post about glyph arrangement. Interesting, I came up to same solution (although my glyphs arrangement is a little bit different) even without knowing about your post :)

Actually I never thought about increasing boundaries of image, when I don't have enough space. I used separate layer for that, and just deleted the layer when I didn't need it anymore. Your approach also sounds useful.


Kyzrati

Hey izzy: So as you'll see 1.0 was just released, and on closer inspection I implemented pretty much everything we talked about in this thread ;D. Thanks for the suggestions and enjoy!
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

izzy

#11
Thank you for Ctrl+RMB behavior!

However, there is  small bug. If you hide layer, it will fetch the glyph+color from it, but it shouldn't.

I would request one minor enhancement also. In the field where you can see Glyph, Fore and Back color, couldn't you draw just beside glyph text, the glyph itself? There is empty space just waiting to have something on it!

Thank you!

Kyzrati

Quote from: izzy on December 22, 2015, 01:12:21 PM
Thank you for Ctrl+RMB behavior!

However, there is  small bug. If you hide layer, it will fetch the glyph+color from it, but it shouldn't.
Oh damn, I forgot to check the layer hide state on that feature -_-

Thanks for the report :)

Quote from: izzy on December 22, 2015, 01:12:21 PM
I would request one minor enhancement also. In the field where you can see Glyph, Fore and Back color, couldn't you draw just beside glyph text, the glyph itself? There is empty space just waiting to have something on it!
True it would be nice to have that, though it was left out intentionally--the only reason I didn't do that is because it looks terrible. There isn't enough space in the UI, and the glyph would be immediately adjacent to the word itself...
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

melrabo

Can't find a way to see the whole canvas when I resize it to a bigger size.
I'm starting to experiment with bigger widescreen formats but the canvas frame is always the same size, so I have to scroll around a lot, and can't see the bigger picture.

is there a workaround, or is this a feature to implement? it'd be really useful for compositing in for 16:9 screens.

Kyzrati

All you need to do is open the options menu (F2), and it's the first option you see at the top: View, Width and Height. Set the values to the size you want to be able to see. As the context help says, you'll need to restart for that option to take effect.

Note that as with any other art program, you'll of course still be limited to the size of your screen ;). Though you can cheat and get even more cells visible by reducing the font size and then setting the view size higher (but then won't be able to zoom in as far).
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

melrabo

¡oh, no!

¡You released v.1 while I was on my holidays!
I was still working with v.99.9, wondering why F2 only rotated the skins.

That's a fine new year present for me. ¡Let's try it, and thanks for your help!

Kyzrati

Haha, yes. Actually, this feature was possible ever since the very first version of REXPaint, including what you were using, but you had to open the .cfg file to change the values. Now you can change all that from within the program itself, so it's more convenient. Happy ASCII-ing :D
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Kyzrati

#17
Quote from: izzy on December 22, 2015, 01:12:21 PM
Thank you for Ctrl+RMB behavior!

However, there is small bug. If you hide layer, it will fetch the glyph+color from it, but it shouldn't.
I fixed this just now and will be releasing 1.01 relatively soon. Just letting you know :)

Edit: 1.01 is available.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

melrabo

This is more of a suggestion.
¿is the 'offset' option in the roadmap? The manual doesn't present the option, and it would be a great help to create semaless images. Example of a graveyard in progress in spoiler, first time I realized how useful it would be, to create fake parallax animations.

Spoiler
[close]

You can do it right now checking the y coordinates, but the results are far worse than offsetting the image and work the 'seam' right in front of your eyes.

Also: Rexpaint is not a commercial project, but do you have some kind of donation box? Krita and other art softs I use have it and I'm happy to chip some cash to a soft I use almost everyday.

Kyzrati

Yeah, totally free, but I have put a ton of work into it and any donations are appreciated. Just last week I finally did put up a notice on how to provide tips on the download page. I only announced it in a couple places though, and didn't even mention it here. I should put a post up in the forums, too.

About an offset feature, I can't think of specifically how this would be more useful than simply dragging an image, especially since REXPaint doesn't store any per-image canvas/UI information. I am, however, considering adding a separate log that remembers canvas settings for different art via an external file/dataset, in which case an offset for a given image could be stored and remembered permanently, if that's would help here. (Though I'm not quite sure if I'm understanding you right.)

Neat wall and fence, by the way :D
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

melrabo

I didn't explain myseolf, I think.

The idea is to 'slide' the image on the canvas so the pixels (glyphs) that go off-limits appear on the opposite side. It is a really useful technique to create seamless textures, patterns, etc. I mean:

Say I have a 100x100 canvas. Offset X +1 means the glyphs move +1 to the right. A whole column disappear on the right side but wraps around and appear in position X=1, so the image doesn't 'break'.

Sorry if I can't explain better, english is not my mother language and I really struggle to explain/understand certain technical things.

Kyzrati

Oh okay that totally makes more sense now. It's not really a language thing, just that your description of what you wanted boiled down to a single word, "offset," but I wasn't sure how you wanted to apply it, which is the most important part :). There are many different ways to use an offset, and I wasn't thinking of how it would best be applied in a parallax situation since I didn't know how you had your layers/images set up. Anyway, now I get what you mean, that you'd like to shift an image in any given direction, with wrapping. Sure I can add that pretty easily. Certainly copy-paste will get you there, but not as easily.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Kyzrati

Quote from: melrabo on February 12, 2016, 04:23:23 AM
¿is the 'offset' option in the roadmap? The manual doesn't present the option, and it would be a great help to create semaless images. Example of a graveyard in progress in spoiler, first time I realized how useful it would be, to create fake parallax animations.
At your request, I just added image shifting with wrapping in 1.02. You can see a sample there in action as well, where I imitated your style a bit for the test :)

Supports shifting of the entire image, or individual layers separately.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

dagondev

I tried using "unlimitedFontSize" by adding it to the cfg like this: "unlimitedFontSize=1" but RexPaint is ignoring it and remove this line from cfg when exiting app. Am I doing something wrong?

Kyzrati

Sounds like you've got an old .exe file there, since that's what would happen if it encountered an unrecognized cfg setting. I just opened a fresh 1.02 release copy and loaded a massive font with unlimitedFontSize=1, and it worked normally. (You can see what fonts it's loading in run.log.) Try again with a fresh copy?
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon