dMZX Forums: CharCon Redux - dMZX Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

CharCon Redux

#1 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,567
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 11 October 2011 - 05:26 PM

So, with my RPG and the fact I've been getting submissions of enemy graphics, fonts, and other such things, I've started development on a Python "update" of the classic CharCon utility developed by Autumn Dreams and which, up until this point, I used for managing those charsets and converting them from bitmaps.

An overview of the features I will definitely include from the original:

  • Ability to load bitmaps and convert them to charsets.
    • Same simple method for conversion. Anything above 128/255 luminance is white, anything below is black. I don't see the need at the moment for anything more complex than this, especially since I personally am converting what are black and white images anyway.
  • Ability to load charsets and export them as bitmaps.
    • May seem less important, but I find myself using it quite often! Will export as a monochrome bitmap.
  • Ability to analyze charsets using the mouse.
    • This is a little hard to explain. Basically, the ability to point at a pixel in a charset and see what its overall X and Y position is, what character it is, and what X and Y position within a character it is.


An overview of the features I will NOT be including from the original:

  • Dependence on Win3.1 era short filenames.
  • The entire drawing toolbar.
    • I don't see the need. Better drawing utilities exist, like say even Microsoft Paint would be a better choice.
  • Character enlarger
  • Ability to grab character set from a MZX file and apply it to one.
    • As far as I know this hasn't worked in CharCon for a while, and seems like a moving target thats of no use to anyone. Export your charsets to CHR files, and import them back in MegaZeux itself.
  • Ability to revert charset to MegaZeux Default, Ascii, or Blank.
    • MegaZeux does it already
  • Asking for money.
    • I may be poor, but I'm not that desperate.
  • Ability to hide the menu bar.


I may also include (or, since it has never worked right for me in CharCon, add) the ability to select, cut, copy, and paste sections of the charset, if there's demand for this.

New features I intend to add:

  • Ability to load/save partial charsets.
  • Optimization of charset.
    • Primarily for partial charsets. Removes duplicate characters, solid characters, empty characters. Puts all non-empty chars in a row to reduce size of partial charset (serializes characters). Doable in MegaZeux certainly but this cuts down on time.
  • Ability to load/save PNGs
  • Ability to load/save megacharsets.
    • Megacharsets are kind of the opposite of a partial charset, though they're often used in a similar fashion. A megacharset is a charset larger than 255 characters. One loads a megacharset from a file into a string and then uses the CHAR EDIT command to load individual characters from this charset. Will be displayed in 'pages' of 255 characters, though it does not technically have to be a full multiple thereof.
  • Ability to generate an MZM from the loaded BMP/PNG.
    • This is mostly useful if you've optimized your charset using the charset optimizer and then want an easy way to import the bitmap as it originally appeared without having to piece it back together row by row.
  • Ability to handle long filenames.
  • Ability to view charset as a 'grid' on which each individual character is seperated by a thin line (aids in visualizing possible alignment issues)
  • Portability to any OS on which wxWindows, Python, and wxPython are supported. (Linux, FreeBSD, and Windows to name a few)
  • Active maintainer.


New features I am interested in adding but may not add (bloat):

  • Ability to load a fixed width font and render all punctuation/numerical/alphabetical characters to the charset.
  • Multi-Char Editor
    • Basically, a clone of the inbuilt MZX character editor, but with ability to edit larger groups of characters (5x5 up to potentially the entire charset). Used in a fashion identical to the original MZX character editor, that is, enlarged pixels, edited using the keyboard or mouse.

- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#2 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 11 October 2011 - 07:58 PM

How much of the way could you get adding some of these features directly into MZX? Not all of the way I'm sure, but it'd be a hell of a lot less new effort and probably more convenient for most..

Seems like it mainly comes down to load/store image files from char editor (should be fairly easy from current codebase), and add an "export optimized MZM + char set" option for a partial charset. You'd mainly be up against the limitations of the view window in the partial char editor, but there are probably methods that make sense for extending this too - for instance you could use one of the other spare charsets to display a pixel/level editor, I guess with pixel toggling of the current active highlighted region. Not great but enough to be usable without having to bust out new graphics.

The one thing I'm not sure I follow the use for is megacharsets.. I mean I could see some value in editing them I guess but you'd be much better off outputting multiple char sets rather than loading it to a string then doing char edit commands. If you really insist on having one big file it'd probably be easier to dump the part you want to load into a new char set and load that.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#3 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,567
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 11 October 2011 - 08:29 PM

Gotten the basic design of the app done, learning how to use PIL and relearning wxPython.

Posted Image


Exophase: At risk of sounding ungrateful, we haven't had a new MZX version in nearly 2 years. I don't think I'm going to delay my RPG project another year to wait for said functionality, and I'd rather not make other people do the same should they need it.

Not to say I don't totally approve of adding this functionality to MZX eventually. That would be awesome. This is a bit of a stopgap. :(

As for Megacharsets, ask Lancer. He's the one who uses them far more than I :laughing:
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#4 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 11 October 2011 - 08:33 PM

View PostExophase, on 11 October 2011 - 01:58 PM, said:

How much of the way could you get adding some of these features directly into MZX?

The new MZX version that you're going to release?
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#5 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 11 October 2011 - 10:57 PM

You two are pretty daft. When I said "how much could you get" I was actually literally referring to Insidious adding these things to MZX instead of making some new utility. Not some kind of general "you", and no, I definitely wasn't volunteering to work on MZX.

It just you know, made some sense to me that he'd want to do that instead of redoing a bunch of stuff in a standalone utility.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#6 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 11 October 2011 - 11:14 PM

My point was more that if Insidious added this to MZX, his work would be moot until regular releases start rolling out again. Were that the case, I'd fully agree with you, but do you see that happening?
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#7 User is offline   Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,938
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 11 October 2011 - 11:23 PM

let's fork mzx
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
0

#8 User is offline   Old-Sckool 

  • megazeux breaker
  • PipPipPipPip
  • Group: Members
  • Posts: 649
  • Joined: 07-June 05
  • Gender:Male

Posted 12 October 2011 - 12:13 AM

I don't know how to fork
<Nadir> mzxers don't make GAMES, usually
<phthalocyanine> they make experiences.
<Nadir> demos, more like
<Nadir> a glimpse into what could have been if mzx wasn't such a bore to work with
<Nadir> actually, i'm being unfair
<Nadir> i would have made mzx games if it was capable of running on more than 20 computers worldwide in 1998
<Nadir> >:D

<%Alice> functor
<%nooodl> i hear C++ has a thing called functors and they're completely different from Haskell functors...
<rorirover> the result is the most horrid thing in C++, it's basically black magic and it transforms any code you're writing into some eldritch monstrosity
0

#9 User is offline   Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,938
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 12 October 2011 - 12:20 AM

View PostOld-Sckool, on 12 October 2011 - 10:13 AM, said:

I don't know how to fork

what is wrong with your face?
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
0

#10 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 12 October 2011 - 01:23 AM

Posted Image
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
0

#11 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 12 October 2011 - 02:22 AM

For editor-only changes like this there isn't that any conflict with whatever would be happening with the core that'd be going into proposed new versions. I'm sure Insidious and the few other people using MZX right now (and need these features) wouldn't mind that much using a non-mainline patched version to get these editor features that would probably be accepted into whatever new version is released. Note these things don't even have to change MZX's version number so there isn't some big decision process behind this.

So yes, fork MZX, if that's what you want to call it. Keep the changes in a diff that can easily be applied to whatever later. If push comes to shove, when the DoZ rolls around I'm sure the host will have no problem approving a new version that's nothing more than the current one w/these changes unless you really fucked up and made the char editor unstable with its existing functionality...
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#12 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,567
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 12 October 2011 - 03:43 AM

In any case, it is not nor has ever been my intention to delve into the MZX codebase myself. I leave that to more qualified people.

I'm going to continue working on my utility.
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

#13 User is offline   T-Bone 

  • Wastelander
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,487
  • Joined: 16-August 02
  • Gender:Male
  • Location:Canada

Posted 18 October 2011 - 06:15 AM

This topic brings me back to a failed (MZX) utility i was working on that pretty much ripped off all CHAR editing existing tools around at the time. Before MegaZeux CHAR Editor had the ability to edit multiple chars in one view. I don't even understand where I was going with this, it semi works much like CHARTOOLS.

But I must say multiple that the char edit ability that’s now in the editor is fantastic. I don't really like to use BMP imports and things like that. I have always worked pixel by pixel with all my projects. I don't know... I guess working with BMP feels like I’m some how stepping away from traditional MZX'ing but hey would be amazing to have as part of MegaZeux itself. But since that may not be possible a separate utility would be handy. I could see myself using a utility like that for a title screen sequence or enlarged fonts. But when it comes to ingame graphics, I like to do everything pixel by pixel by hand. I like having full control of EVERY pixel in a graphic.

Attached thumbnail(s)

  • Attached Image: screen2.png

This post has been edited by T-Bone: 18 October 2011 - 06:15 AM

Youtube - teabone3 - Twitter - teabone3 - Twitch - teabone3
0

#14 User is offline   zzo38 

  • Registered members
  • PipPipPip
  • Group: Members
  • Posts: 445
  • Joined: 16-May 08
  • Gender:Not Telling

Posted 12 January 2012 - 02:36 AM

I write a command-line program which can do batch operations such as combining, mirror, flip, negative, and import a character set with different heights. You can use it together with this program in case it help, and I might add other feature too such as picture file to character set (and MZM, together) and vice versa. Still, your program is good one make this one too.
In Capitalist America, law violates YOU!

"Potion of Confusing": Solve all the puzzles, hold second one as you hold a pencil, and save gibbering mouthers from the king's army.
0

#15 User is offline   Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 30 April 2012 - 09:01 PM

How is CharCon Redux going
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
1

#16 User is offline   GetDizzy 

  • Touch Fuzzy.
  • Group: DigiStaff
  • Posts: 3,567
  • Joined: 22-November 01
  • Gender:Other
  • Location:MA

Posted 21 January 2013 - 12:14 PM

For now, MZXImageResampler does just about everything CharCon Redux was supposed to do, and more, so this project which failed to get very far off the ground due to personal constraints on my time is officially closed.

In its place, I'm posting here (and in the MZXImageResampler thread) a link to the last version of MZXImageResampler, as the links to the binaries on that thread seem to have become dead, and MZXGiant isn't in the habit of posting anymore.

MZXImageResampler
- Your Jumpy Neighborhood Admin

<@Tixus> Anyway, I set the year to 1988 for some reason.
<@Tixus> And set the microwave to run for a minute and 28 seconds.
<@Tixus> But it failed to send me back in time, and I was disappointed.
<Insidious> Tixus accidentally microwaved the 80s
<Insidious> that is my takeaway from this
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users