Hi, apologies for the delayed response.
So when you create a tile-set, each cell of each tile would ideally be blank to give you a nice blank set to work with, but that is only possible if a blank character is available to use to fill the new tiles.
So rather than trying to find an existing blank character (which may not always be desirable), the program just fills the new tiles with character 0, but if we find that character zero is not blank then we offer to insert one for you.
If you say yes then all of the existing characters will be pushed forward by one to make room for the new blank character (as you have discovered), but if you say no then you will not get blank tiles, they will all be filled with whatever is visible in character 0.
So the choice is really up to you, generally speaking it is a good idea to keep character zero blank when using tiles as whenever you create a new tile it will be filled with that character.
Following the linked tutorial video, you/he could just clear the @ sign (CTRL+DEL) to make that a blank character.
Personally, when I make a tile-set I use the pen tools to draw directly into the tiles and not worry about what is happening in the character set, if I need a character font then I would add that in at the very end when I was happy with the tile-set and the map, by ie. copying/pasting from an existing project which contains only the font that I need.
The way Baardbi is doing it in the tutorial is really quite "old-school", ie. using a very "char-centric" approach, this is definitely worth learning but CharPad has special powers that allow you to pixel your tiles directly and not worry about individual chars.
I hope that helps ;)
Subchrist Software
Creator of
Recent community posts
Thanks for the bug report (and your appreciation!) I have found and fixed the chars copy/paste problem (it affected the win32/64 builds, the .NET build works fine) but can't seem to reproduce the tile editor shortcuts issue, any ideas how i can reproduce it?
nb. in the tile editor, if the Tag or Name text box has focus, CTRL+C, CTRL+V will copy/paste only the text from those controls, not from the tile, could that be the issue?
Hi,
Thanks for the suggestion, I don't entirely see the value in it though, I mean surely the colour of the chars is already visible just by looking at the map + the compressor has the ability to reset the colour(s) of any char that is not actually using it's assigned colour(s).
Also I think it would only be (theoretically) useful for some of the display modes and colouring methods, ie. in the bitmap modes each char has multiple native colours (2 in hi-res, 3 in multi-colour).
It would be a lot of work and I will need some convincing.
No problem.
Yes it's just a very tricky thing to work into an "all-in-one" tool like this without making it incredibly complicated, we already need to handle 5 display modes in 3 possible matrix colouring methods, so that's 15 possible configurations that each need to be carefully handled in most of the operations, adding 2 more colouring methods (per tile cell, per map cell) would raise that to 25.
Some kind of dedicated tool is probably the answer, one that can take a CharPad project, strip out any "per char" colours/materials and recompress, then allow free colouring/attributing of the map cells.
Ps. you might find some use from the existing "Export Colour Map" option, it allows you to export a "per map char cell" array of colour data (colour matrix data) regardless of whether the project is tiled or not.
See...
'Import/Export >> Binary >> Export colour map (per map char cell, CmLo)'.
'Import/Export >> Text/Asm >> Export colour map (per map char cell, CmLo)'.
Thanks for your suggestions.
Yes such modes (per tile cell + per map cell) have been suggested many times before, usually because people want to be able to use the same character in different colours without needing to duplicate the character in the precious char-set (256 items max on the real machine).
While this may seem simple to do, it is absolutely not, there are several good reasons why we chose not to .
1. Memory usage - whatever size (in bytes) the tile-set or the map may be, using such a mode would instantly double the storage needed.
For multi-colour bitmap mode this could be triple (x3) as two colour/attrib bytes would be needed for each cell. It's very wasteful and unpractical for most games.
2. Char/tile editing - when editing a char or tile we can easily find the correct colour(s) for the item as they each store their own native colour value(s).
ie. In a 'per tile cell' or 'per map cell' mode there would need to be some kind of "default colour(s)" used instead. Possible but complicated/confusing.
3. Such modes would add a lot of complexity to an already very complex system and the chance of something (or probably many things) breaking is very high, potentially requiring years of further testing/debugging for very little reward.
The last releases of CharPad/SpritePad added support for 1x1 tiles, if you want to use the same char/sprite with different colours we would suggest using this feature as a work-around.
ie. a tile-set is not limited to only 256 items like the char-set (on a real machine).
I hope that helps.
Cheers.
Hi,
Interesting question! Quite honestly, I have no idea, I have never attempted to run any of our stuff on Windows 98.
While we do include "Win32" builds with CharPad/SpritePad it is really no guarantee of it working on an old OS, what they called "Win32" or "Windows API" back then is probably quite different to what it is now on Windows 10/11.
For instance, Windows 98 did not feature any support for Unicode strings and the Windows graphics library we use for 2D (GDI+) probably didn't exist back then either.
I would quite like to have a functional Windows 98 or Windows XP machine myself for testing purposes but these OSes won't even install on a modern motherboard/CPU (ie. no hardware drivers available, no UEFI, no 64-bit etc).
It's a complicated problem with probably 100's of reasons why it won't work, couple that with trying to do it virtually using a Mac and it really is a recipe for a headache!
I would be very interested to know if you have any success but my instinct says "no", not without a complete rewrite/rebuild using a very old PC.
Hi,
Yes this can be a problem when editing tiles using "Per char" matrix colouring.
The tile editor has a '?' button explaining a solution, ie. you can just click with the middle mouse button on a tile cell to instantly select the pixel colour and the character in the set, this loads the pen(s) with the matrix colour(s) for that cell so you can paint with it/them + if you change the matrix colour(s) it will only affect that one cell/char.
Auto-selecting the first char of a clicked tile may help slightly but is not really a solution.
Thanks for your feedback though, I will have a think about it.
Hi Martin,
Thanks for your suggestion (+ apologies for the late reply), the next release will at least support 1x1 tiles, separate colour maps are kind of tricky to implement, a "per-map cell" colouring method has been requested several times by various people but it's kind of a deep rabbit-hole of complexity that I would prefer to avoid.
Hopefully 1x1 tiles will be sufficient!
Good morning!
Yes tile tag data can be exported from CharPad Pro although currently only in the form of an asm/text file...
File >> Import/Export >> Text/Asm >> Export Tile Set (and attributes)
If it would be more convenient to have the data as a raw binary file then you could just trim out the tile data section in that file, assemble it and trim off the first two bytes of the resulting PRG file (the load address).
A binary export option might be useful though I guess, I will add it to the todo list.
Hello,
Exporting colour maps is currently quite limited, you can only do it for the whole map right now and only for the Colour RAM values (so it is not so useful in the bitmap modes as they use 3 matrix colours).
The easiest way to export a colour map (file) for just a selected area of a map is probably this...
1. Select the desired map area.
2. in the Map menu (visible when the map form is focused), choose Crop.
3. File -> Import/Export -> Binary -> Export Colour Map (per map char cell, CmLo).
The Export Colour Map option is also available as a text file...
File -> Import/Export -> Text -> Export Colour Map (per map char cell, CmLo).
Then you can undo the map crop and select a different area for export if required.
I hope that helps!
Ps. the "per map char cell" colour map can also be exported from a project that uses tiles, CharPad figures out the correct char colour values.
Hello,
Thank you for supporting us and for your suggestion, it's a good one.
I will definitely be looking into expanding the code examples in a future release, we already include a little video basics library in the Help files to get you started but it could use some expansion for sure.
In the mean-time it shouldn't be too hard to find some example code online for drawing bitmap images and scrolling tile maps.
I would be very surprised if there was not already some good example code on ie. GitHub, I will be taking a look into this myself soon.
Cheers!
Hello,
Sorry yes I know you posted this question before, I didn't mean to ignore you, I've been thinking about it.
It is definitely something I'm going to consider for the next release, in fact you can already do it (sort of)...
What I mean is that if you have a project file that is configured for 16x16 tiles, CharPad should load it and let you use/edit it, you just can't currently create such a project in CharPad, so it's probably not very useful to you!
(hex editing an existing project's tile dimensions can be done very easily but you would still need the file size to be correct, it could be done).
I have added your request to the todo list and will do some tests very soon.
Thanks for the suggestion!
Hello,
Thank you for your appreciation and for your question, it is something that has come up many times over the years.
The simple answer is that it is currently only possible to have 1 charset, 1 tile-set and 1 map.
We have thought about adding support for multiple maps many times over the years and while it would be theoretically possible, it also introduces many complications, for instance, currently each project has a single display mode, a single matrix colouring method and at least one common colour (ie. screen colour)...
If multiple map support were added, we would soon be asked to allow different display mode, colouring method etc for each map, some people would then not be happy that all maps have to use the same char-set or the same tile-set, so would request multiple support for those as well.
The point I am making is that any introduction of multiple maps, tile-sets or chars would almost certainly add enormous complexity to the program, opening a proverbial "can of worms".
In the end, we decided to just keep it simple, a lot of "multi-map" situations can be resolved by simply drawing all required maps into one big map and using the Flexi-grid feature to export the data for each sub-map separately if required.
Also, would you really want to use the same char-set on ie. all 16 levels of your game? that could be quite boring for the players (ok many classic 80's games did this!)
So I'm sorry if this answer is disappointing but I hope you see what I mean about the "can of worms" it could become, it's really not as simple as it may seem and there is usually an alternative route that can be taken.
Cheers.
Hello,
Ok, firstly.. the sprites in those cells do not need to be empty/blank, instead they need to contain (references to) sprite image *zero*, ie. the very first sprite in the set (it is a good idea to keep it blank).
You can use the Sprite Brush tool to paint sprite images into the cells of a tile.
You may also find it helpful to use the compressor to make sure only one blank is present (in the sprite-set) and used in the tiles...
ie. If you are pixelling tiles by hand then decompression is enforced/necessary before you can do this which will make every sprite-cell (in the tile) refer to a different sprite image, so try compressing when you have finished pixelling (to make all the "blanks" use sprite zero and that will let you see the expansions).
I hope that helps!
If you want to copy and paste some chars from the set...
- open a project that has chars you want to copy/paste.
- click the starting character in the Char Set form, then hold SHIFT and click the ending character to select the range.
- hit CTRL+C, or go to the menu and choose Chars->Copy.
- open up the project you want to paste into, select the starting pos/char in the set and hit CTRL+V or go to the menu and find Chars->Paste for a few different paste options (insert, overwrite, append).
Hello,
Thank you very much for your support :) ) much appreciated.
Please try doing a copy/paste from project1 to project2, doing a binary load will just overwrite the chars in project2 (colours/modes will be the same as the overwritten chars).
Copying/pasting should work out better and can be done as an overwrite if necessary (see the Chars menu when the Char-set window is active for all the Paste options).
Ok I found the issue, there isn't actually any corruption of the data, the issue is just that the "has overlay" flag for every sprite are being set true, so it makes the sprite set appear corrupted.
If you select all the sprites (ctrl+a) and hit the "Has Overlay" checkbox you can clear all the overlay flags. You helped me find another problem though, the binary import (sprites) feature is meant to offer a format selection dialog to the user before loading the binary and it isn't working in the C++ version.
Hi, if you want to use more than 256 tiles then you can do it yes, you will just need to export the map data as 12bit or 16bit.
Exporting as 12bit or 16bit is currently only available (from CharPad) as text/asm/ascii but you can still use it in your project, just include the exported text as a link in your source code and build your project.
See the import/export menu items.
ps. unless you plan to dynamically load the data as binary from disk on the C64 at runtime, in that case you *will* actually need it in binary form I guess, CharPad can't currently do it but there are workarounds.
Today I was trying to edit/delete/repost a couple of my replies about my project's and managed to delete the user's original post that I was replying to instead.
The placement of the edit/delete options is really not very clear and could easily apply to the post either above or below.
It would be nice if there could be some pop-up confirmation box, like "Really delete post from Dave123 ?"
Thanks.
Hello,
The short answer is.. no, not currently.
Each sprite image (in SpritePad) can only "have" an overlay, meaning that the current sprite is always treated as an underlay (if only a single layer).
For this reason it is easiest to draw your overlay first, ie. a black hi-res outline, then configure the desired overlay distance, then move to the underlay image, set it's "Has Overlay" checkbox and and colour it in.
From a programming perspective, as the renderer moves through the images it can only (easily) determine if an image *has* an overlay, not if it *is* an overlay.
(Each image contains only a "Has Overlay" flag).
The renderer would have to be made more complex (and slower) to do what you would like and then all of the underlays and overlays would appear the same in the sprite set window (ie. both layers rendered), a bit confusing I think.
The next version will at least have a toggle button to quickly switch between underlay/overlay.
Hi,
The ability to move characters with map/tile auto-correction already exists...
It is implemented in CharPad (and SpritePad) as a Swap operation...
1. Select the item you want to move (LEFT mouse button)...
2. Hold the CTRL key then select the item you want to swap with (LEFT mouse button).
The map (or tile-set) data will be automatically updated to appear identical.
It also works exactly the same way with the tile-set.
I recommend studying how the Commodore 64 (multi-colour) char mode works.
A char will only appear multi-colour (wide-pixel) if it's native colour is >7.
But fair enough, you are not the first to have trouble with this idea so I will look into making it simpler for novices.
1. make sure the display mode is "Text - Multi-colour".
2. make sure the "Colour Matrix (low nyb)" colour is one from the bottom row (ie. 8-15), you should see wide red dots on the palette image to indicate WIDE.
You can also find information about all this in the included help files.
So my tax information is suddenly invalid after 3+ years?
Ok, thanks for only letting me know this only after posting on this public forum.
Also I don't recall "Demanding to be paid sooner" so I don't appreciate your choice of words there.
Unbelievable, I hope there is somebody else available to properly deal with my situation.
Thanks for your reply,
I hope you can understand my frustration with having to wait 3 weeks (so far, maybe 4? 5? who knows) to receive a mere $150 payout when up until this point the payouts have generally been 14 days or less, 4 days on at least one occasion.
I see no explanation for this longer duration in your reply.
If there is some particular issue (relating to my account) that I can assist you with then I would be glad to help.
Yeah this is getting bloody ridiculous, I been waiting 20 days now for around a $100 payment, I have no idea what the problem is and heard nothing.
Really unprofessional. It was bad enough having to wait 14 days.
Where is our money?
Is there even any point sending you an email?
a professional would be sending *us* one offering an apology.
It's just infuriating.