Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Khameleon front end public beta (successor to Kymaera)  (Read 16367 times)

0 Members and 1 Guest are viewing this topic.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Khameleon front end public beta (successor to Kymaera)
« on: November 28, 2007, 08:29:29 am »
Hello,

The first public beta of the Khameleon front end is now available.

Get it from here.

I've included nine skins for this release. I don't have a skinner application yet. I'm working on that.

Cheers,
Cakemeister



Old, but not obsolete.

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #1 on: November 28, 2007, 10:32:52 am »
I will have look tonight!  :)

csa3d

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 872
  • Last login:March 07, 2011, 08:16:35 am
  • Will game for food
    • Galaxian Mame Conversion
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #2 on: November 28, 2007, 04:31:18 pm »
 :pics

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #3 on: November 28, 2007, 04:51:07 pm »
Just download and try , there a Demo  ;)


I'm looking  foward to see the skinner.




Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Old, but not obsolete.

Havok

  • Keeper of the __Blue_Stars___
  • Trade Count: (+17)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4530
  • Last login:February 05, 2025, 10:41:40 pm
  • Insufficient facts always invite danger.
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #5 on: November 29, 2007, 01:07:37 am »
Nice!

 :applaud:

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #6 on: November 29, 2007, 07:33:01 am »
Nice!
When PacManFan ceased Kymaera development I was hoping that someone would pick it back up and add a few features people have been pining for; like PNG-24 support with alpha transparencies. A light frontend like Kymaera that can overlay PNG-24's over video layers would make some killer skins possible.

I was the one that did the original Kymaera skin; it looks awful now. Maybe it's time I updated it a little.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #7 on: November 29, 2007, 08:55:36 am »
JM,

I was actually surprised that most frontends don't support full alpha blending. It wasn't that difficult to implement. I also implemented the key alpha (used by AtomicFE), corner alpha (used by MaLa) and solid alpha (used by Dragon King and others) blending methods.

What other features would you say people have been "pining for"?

I would be greatly honored if you could create a new skin for me. I am an engineer, not an artist. But I don't have the skinning application ready just yet.
Old, but not obsolete.

csa3d

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 872
  • Last login:March 07, 2011, 08:16:35 am
  • Will game for food
    • Galaxian Mame Conversion
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #8 on: November 29, 2007, 09:12:03 am »
The thing that personally keeps bringing me back to Mala are really the plug-ins written by the community which support the new bling hardware such as the LedWiz and the UltraStik360 map swapping.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #9 on: November 29, 2007, 09:47:13 am »
That is somewhat off-topic, but if you are asking if Khameleon will support some kind of plugin mechanism such as Mame Hooker or whatever, I don't have an answer. Currently the frontend can call an application before emulator launch and another application after the emulator terminates.  That will take care of the UltraStik map remapping.

MaLa is a great frontend with a lot of documentation and third party content. It is, however, rather limited in its graphics capabilities.
Old, but not obsolete.

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #10 on: November 29, 2007, 10:23:14 am »
Would it be feasible to support vector images?
Animated SWF elements would be awesome; but I'd image it would be a huge undertaking and they would eat system resources like crazy - so probably not so practical until we're all using 16ghz PCs and plasma screens for our cabinets.
SVG images might make more sense though. I know that Kymaera did a pretty good job of cleanly down-sampling images in larger skins to fit lower resolutions, but using vector elements would ensure everything stays clean and crisp where it's supposed to and make it possible for skins to be functional at 320x240 or 1024x768.

Another thing is how MAME frontend skins usually handle horizontal and vertical snapshots/titles. Usually the same area is used for both, so vertical games end up with black bars on either side and much of their detail is scaled down to a point where it's not really visible (especially for low-res skins).
Another remedy for this would be to use a square area for the snapshot, and use separate horizontal or vertical border overlays that cover the black bars. Actually, now that I think of it there might already be a way of doing this in Kymaera - when we added the ability to display individual game controls it was pulling that info from listxml, so similarly it could read the game's orientation info and display an image depending on if the game was horizontal or vertical. So I guess this is already done, nevermind.

Does Khameleon use the same XML structure that Kymaera did for skins?


youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #11 on: November 29, 2007, 11:20:41 am »
Quote
I was actually surprised that most frontends don't support full alpha blending.

What do you call full Alpha blending?  I think i support full alphablending. But i do that with 16bits/pixel image , not 32bit/pixel. the Alpha channel in Atomic is done by using a that i call a Gradual Mask.

That you describe as Alpha Key,  Corner Alpha and Solid Alpha, that is that i call  (full)Transparent Color. for me it is not Alpha Blending.

I really like your FE its layout capabilities seems very promising.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #12 on: November 29, 2007, 11:28:16 am »
Would it be feasible to support vector images?

I think that should not be hard. I found a library that renders a SVG image to a SDL surface. I already have the code to convert the SDL surface into an OpenGL texture, I use that for fonts.

For snapshots, you can set the option to keep the aspect ratio fixed or not. If the aspect ratio is not fixed, the frontend expands the image to fill the space. If the aspect ratio is fixed, you'll end up with black bars.

Quote
Does Khameleon use the same XML structure that Kymaera did for skins?


Not exactly, but similar. One big difference is that Kymaera used two points to determine where an element is, and Khameleon uses one point plus size. Another big difference is that Kymaera assumes that 0,0 is the upper left of the screen, and Khameleon assumes 0,0 is the bottom left of the screen. Third, Kymaera skins specify the screen size. Khameleon skins do not. The frontend scales everything to the user's desired resolution at run time. Lastly, I've created a whole lot of new fields and simplified some of the XML structure.

Old, but not obsolete.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #13 on: November 29, 2007, 11:34:39 am »
Quote
I was actually surprised that most frontends don't support full alpha blending.

What do you call full Alpha blending?  I think i support full alphablending. But i do that with 16bits/pixel image , not 32bit/pixel. the Alpha channel in Atomic is done by using a that i call a Gradual Mask.

That you describe as Alpha Key,  Corner Alpha and Solid Alpha, that is that i call  (full)Transparent Color. for me it is not Alpha Blending.

I really like your FE its layout capabilities seems very promising.


What I call full alpha blending is 32 bits per pixel. With 16 bits per pixel, would there be 5-5-5-1 bits of red-green-blue-alpha, or 4-4-4-4? Internally, Khameleon converts everything to 32-bit color anyway, even images with palettes.

I probably should not describe the transparent color methods as "Key Alpha" or "Corner Alpha". I just made up those terms and used them in my code. I should call them "Key Transparency" and "Corner Transparency".

Old, but not obsolete.

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #14 on: November 29, 2007, 11:47:54 am »
Quote
What I call full alpha blending is 32 bits per pixel. With 16 bits per pixel, would there be 5-5-5-1 bits of red-green-blue-alpha, or 4-4-4-4? Internally, Khameleon converts everything to 32-bit color anyway, even images with palettes.

The solution i used in Atomic , is to keep 16bit/pixel for all images. (to reduce memory consumption and increase performance of my routines).

When you want do full alpha-blending on a image , with the layout editor you associate un second 8bit/pixel image grey scaled image  (called Gradual mask in my layout editor) that it used as alpha value. That way , it is like i have a 16+8 = 24 bits/pixel image.  5 6 5 (rgb) + 8 (alpha).  Actually the alpha chanel is another 8bit/pixel image.


Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #15 on: November 29, 2007, 12:03:25 pm »

The solution i used in Atomic , is to keep 16bit/pixel for all images. (to reduce memory consumption and increase performance of my routines).

When you want do full alpha-blending on a image , with the layout editor you associate un second 8bit/pixel image grey scaled image  (called Gradual mask in my layout editor) that it used as alpha value. That way , it is like i have a 16+8 = 24 bits/pixel image.  5 6 5 (rgb) + 8 (alpha).  Actually the alpha chanel is another 8bit/pixel image.



That external mask idea is very flexible because you can use more than one mask for the same RGB image, for example if you want to make an image fade in and out. Plus, you don't even need a 15/16 bit image, you can alpha blend an 8 bit image with your technique. Maybe I'll implement it. :)

Old, but not obsolete.

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #16 on: November 29, 2007, 01:52:09 pm »
For snapshots, you can set the option to keep the aspect ratio fixed or not. If the aspect ratio is not fixed, the frontend expands the image to fill the space. If the aspect ratio is fixed, you'll end up with black bars.

That's not exactly what I was getting at.
What I meant was, is it possible to display vertical games with one overlay/frame and horizontal games with a different overlay/frame?
Since a lot of games don't use square pixels, most snaps would be best displayed stretched to a 4:3 aspect for horizontal and 3:4 for vertical.

Sort of like this...

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #17 on: November 29, 2007, 02:57:12 pm »
For snapshots, you can set the option to keep the aspect ratio fixed or not. If the aspect ratio is not fixed, the frontend expands the image to fill the space. If the aspect ratio is fixed, you'll end up with black bars.

That's not exactly what I was getting at.
What I meant was, is it possible to display vertical games with one overlay/frame and horizontal games with a different overlay/frame?
Since a lot of games don't use square pixels, most snaps would be best displayed stretched to a 4:3 aspect for horizontal and 3:4 for vertical.

Sort of like this...

More generally, I think what you want is a "conditional element". That is, if a condition is true display one skin element, if it is not true display nothing. In your case you would have two conditional elements, one for horizontal games and one for the vertical games. I dunno what you'd do for the vector games....

Khameleon doesn't support conditional elements at this time, but I don't see why it couldn't be added before the first official release. There are a lot of variables in the game list already that could be checked, a lot more than just screen orientation.

« Last Edit: January 03, 2008, 04:23:47 pm by Cakemeister »
Old, but not obsolete.

youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #18 on: November 29, 2007, 05:06:56 pm »
Quote
That external mask idea is very flexible because you can use more than one mask for the same RGB image, for example if you want to make an image fade in and out. Plus, you don't even need a 15/16 bit image, you can alpha blend an 8 bit image with your technique. Maybe I'll implement it.


Yes, that 's very flexible. You can do alphablending where you want.  Even effect on video or image that don't have alpha chanel.

My "reflection" layout  here :      , is an exemple of gradual alpha blending combinated with video , reflexion and animation.


Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #19 on: November 30, 2007, 03:42:40 pm »
SVG support is in.

External masking will be in. Besides masking an image with another image, you will be able to mask an image with a movie and a movie with an image. Masking a movie with an image will allow a very clean way to crop a movie to a particular boundary. Right now you have to have an overlay with a transparent "window" and that can cause problems where the overlay intersects with the background image (For example you can see artifacts in the mala skin if it is viewed at resolutions not equal to 1024x768)

Conditional skin elements will be in. I wrote an expression parser for another project with flex and bison which allows for equals, parentheses, less than, etc. It should not be difficult to modify it for use in Khameleon.
Old, but not obsolete.

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #20 on: November 30, 2007, 05:37:48 pm »
SVG support is in.

External masking will be in. Besides masking an image with another image, you will be able to mask an image with a movie and a movie with an image. Masking a movie with an image will allow a very clean way to crop a movie to a particular boundary. Right now you have to have an overlay with a transparent "window" and that can cause problems where the overlay intersects with the background image (For example you can see artifacts in the mala skin if it is viewed at resolutions not equal to 1024x768)

Conditional skin elements will be in. I wrote an expression parser for another project with flex and bison which allows for equals, parentheses, less than, etc. It should not be difficult to modify it for use in Khameleon.


Awesome!  :cheers:
It'll be interesting to see how well a 100% svg/vector skin performs.
Will the SVGs will be anti-aliased and allow transparencies?

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #21 on: December 01, 2007, 04:46:49 am »
Khameleon looks really good, I like the fact you've got those six skins showing your frontend can look just like those other popular frontends out there (hence the name Khameleon I guess), we MAME cabbers are really spoilt at the moment.

JM,
What other features would you say people have been "pining for"?

Any chance of Khameleon being able to support 3D cabinet models like the ones that 3D Arcade supports?

Not so you can create an arcade but to just show one at a time something like this:



Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #22 on: December 01, 2007, 08:16:50 am »
That is doable and very cool. The 3D capability is already in there (I can display cubes and teapots), it's just a matter of figuring out how to do adapt the teapot code to load a model file, and then to textureize it.

I just may do that. I don't think any frontend other than 3DArcade has this feature.

Old, but not obsolete.

Lilwolf

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4945
  • Last login:July 31, 2022, 10:26:34 pm
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #23 on: December 01, 2007, 12:01:40 pm »
Features I would love to see.

Multiple control panels - (some way to seperate all games so that only certain games come up when you want... like having a 2player 8way control panel shows up fighting games and other... plugin your 4way and classics come up... ect).  I'm starting to think that the best way would be to include support for .ini files like nplayer.ini and such.

tree support... A way to select groups.  (like maybe top level could be what .ini file you want to look at, then the next level could be the group in the ini file... then the next level the games themself.


Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #24 on: December 03, 2007, 03:54:25 pm »
I spent a couple of hours looking for suitable code (C or C++) to load the .w3d or the .max files that are used by 3Darcade, but I could not find anything.



Old, but not obsolete.

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #25 on: December 04, 2007, 01:14:48 am »
I spent a couple of hours looking for suitable code (C or C++) to load the .w3d or the .max files that are used by 3Darcade, but I could not find anything.

I wonder what 3D Arcade uses?

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:57:54 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #26 on: December 04, 2007, 03:12:05 am »
Well here's the thing.....  the w3d format, unfortunately is closed-source and ONLY works on director/flash.  The max models are more like the "source-code" to the models and more often than not either the source isn't available, is outdated, or doesn't render properly without some manual editing.  There are some ways to display max files though. 


If you'll look over at the 3darcade forum, you'll see my post about the new UAM (universal arcade mesh) format, which is based upon direct-x x files, the ONLY open-source format I could find that can handle the high poly count of some of the models as well as texturing and shader effects. 

The current private build of DK supports uam, but the thing is, seeing as how every single model in the 3darcade collection needs to be converted, it won't do you a great amount of good.  I am more than willing to help with the format though if you wish to support it. 

And before anyone asks, formats that are NOT acceptable as a standard are:

quake 1/2/3 half life/ ect.......... (Believe it or not, our texture and poly demands are often much higher than even the latest video game, which uses highly compressed textures.  Due to the fact that our models are viewed statically, they need a little more detail. On top of that, generally supporting these formats is rather akward due to needing special tools that don't always play nice with 3dsmax or maya.)

milkshape (first off milkshape is a pos as a editor and it doesn't support multiple textures)

3ds  (doesn't support textures at all, completely useless format that hasn't been used since the late 90s)

dxf (see 3ds)

I would be open to suggestions on this point, but seeing as how I've spent the last three YEARS working on a universal format, I've pretty much tried em all. 



Now with all of that being said, there are rather tricky ways to convert w3d into some other format.  Due to some rather odd modeling techniques we use with the 3d arcade models though, I've yet to get one of them to successfully work. 


Just pm me if you are interested in any of this.






youki

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1612
  • Last login:November 19, 2016, 01:07:33 pm
  • Atomic Front End Creator
    • Atomic Front End
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #27 on: December 04, 2007, 04:23:10 am »
Why you need to define a new Standard Format for Arcade Mesh?

I though it would be possible to use directly the .X format of Direct3D.   no?

In addition ,most of the open source 3D engine support to load and render t directly in Standard.




Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #28 on: December 04, 2007, 11:45:49 am »
I was playing around with the free version of 3ds Studio Max 9.0 and I attempted to export a max file to a 3ds file.

.3DS files do indeed support images as textures. What they don't support is long file names.

There is also a problem with the program I compiled to display the model. The transparencies in the texture displayed as white. I dunno where the problem is.

3ds max is such a complex program that I can't find where to change the texture image filenames to something 8.3 compliant.
Old, but not obsolete.

csa3d

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 872
  • Last login:March 07, 2011, 08:16:35 am
  • Will game for food
    • Galaxian Mame Conversion
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #29 on: December 04, 2007, 12:02:16 pm »

3ds max is such a complex program that I can't find where to change the texture image filenames to something 8.3 compliant.


From memory.. don't have max on me currently.. but here goes:

Copy the original texture, rename it to be 8.3 compliant.

Hit "m" to open the (multishader?) shader window.  Select the material ball associated with your model (it will likely be the only one that looks non-gray).  From there, you're looking for the [m] next to the "diffuse" property, which means it's mapped.  Clicking on that will take you into a lower level window where you can remap the file texture to the new 8.3 compliant one.

Hope that helps.  On a side note, I've never seen any of these meshes, but I can't fathom why they are more demanding then next-gen console meshes, unless they are highly unoptimized by the artists, or if every single edge is beveled, screw modeled, etc... at which point, one should consider supporting normal maps.  I'd probably look into some universal file format other then .3ds, since those files are source files like stated earlier.

+2 cents

-csa


Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #30 on: December 04, 2007, 12:56:27 pm »
That helps, except for the ones that are "multi-maps". I can't seem to find the filenames for the side pieces.
Old, but not obsolete.

csa3d

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 872
  • Last login:March 07, 2011, 08:16:35 am
  • Will game for food
    • Galaxian Mame Conversion
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #31 on: December 04, 2007, 04:35:53 pm »
That helps, except for the ones that are "multi-maps". I can't seem to find the filenames for the side pieces.

For the ones where the materials are classified as "mult-sub" objects (Name should appear on a button to the right of the dropdown menu), when you get to the screen where there are many shader balls stacked one on top of another, there's a button to click with the material's name on it.  This button will take you into a window which looks identical to a default gray shader (after all, a multi-sub is really just a group of standard shaders given faceID's to map the texture onto).  Then you look for the [m] next to "diffuse", navigate down, and repath the file with the 8.3 texture.

Image off google for reference:







Hit [F1] and enter "mult-sub material" and maybe that will be more help as well.  Let me know if you need more, I can look tonight.

-csa
« Last Edit: December 04, 2007, 04:43:15 pm by csa3d »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:57:54 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #32 on: December 04, 2007, 09:34:17 pm »
Why you need to define a new Standard Format for Arcade Mesh?

I though it would be possible to use directly the .X format of Direct3D.   no?

In addition ,most of the open source 3D engine support to load and render t directly in Standard.





UAM is essentially the x format.  The problem with x files is their textures, shaders, ect are all left out loose, which is very sloppy.  Amoung other things tweaked specifically for the way the 3da meshes are built, uam merges all of this into a single file. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:57:54 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #33 on: December 04, 2007, 09:44:18 pm »
.3DS files do indeed support images as textures. What they don't support is long file names.

There is also a problem with the program I compiled to display the model. The transparencies in the texture displayed as white. I dunno where the problem is.

The problems are related.  While 3ds technically supports textures, the support of textures with a alpha value is so-so as are textures with reflections, lighting ect.... all of which were used on the 3da models. 

You do know that you have to manually turn on alpha blending though right?  In most 3d languages, alpha blending is ignored unless you specifically turn it on. 


Regarding the next-gen format question.... no not at all, the models aren't THAT detailed, the problem is video game meshes are THAT optimized.  So optimized that our very unoptimized models won't convert properly without so much manual editing that we might as well make new models from scratch.  There are over 300 models over at 3da, I really don't want to spend time doing them over.  :)
« Last Edit: December 04, 2007, 09:46:27 pm by Howard_Casto »

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #34 on: December 05, 2007, 12:09:09 am »
Here's a screenshot of my 3d engine in action. I used Deep Exploration to convert the max file to a .x. I'm not sure why the arcade model screen is on an angle though.

csa3d

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 872
  • Last login:March 07, 2011, 08:16:35 am
  • Will game for food
    • Galaxian Mame Conversion
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #35 on: December 05, 2007, 09:33:22 am »
Regarding the next-gen format question.... no not at all, the models aren't THAT detailed, the problem is video game meshes are THAT optimized.  So optimized that our very unoptimized models won't convert properly without so much manual editing that we might as well make new models from scratch.  There are over 300 models over at 3da, I really don't want to spend time doing them over.  :)

Yeah, no one likes redoing work.  If it's a conversion process thing, that sucks.  Especially if you're depending on a clean 3ds file to begin with.  If it's a matter of sloppy source art causing the problem, then that's another issue.  I read the thread initially as though the art was the problem.   :cheers:

-csa
« Last Edit: December 05, 2007, 10:36:51 am by csa3d »

Lilwolf

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4945
  • Last login:July 31, 2022, 10:26:34 pm
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #36 on: December 05, 2007, 09:34:13 am »
as for 3d standards.  I had a few of the models converted to x3d years ago when I was working on my 3d frontend.  I don't remember liking it all that much, but it seemed to work.  But its now been years.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:57:54 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #37 on: December 06, 2007, 04:23:23 am »
I was playing with the demo tonight...  it looks really good but my biggest complaint is the list scrolling.  When scrolling, the "wobble" caused by the animation makes the list fairly unreadable.  I think once the list is scrolling, the animation needs to be cut so it is easier to read. 

I went back and read this thread more carefully.....

Just a couple of random points..... dk supports full alpha, even in the last public build.  It uses corner alpha for multi blends, obviously alpha channels in an image, and keyed alpha as well.  The user just doesn't know it because the skinner calls then various blending effects and they don't need to know what method is used.  I only mention this because, as a whole, only full alpha is useful for skinning.  The exception being when you want to make something that already has a alpha channel translucent, you do a second pass with corner alpha and merge the two, and if you wish to used, sprite-based text, color-keying is necessary for speed issues. 


The frame issue someone mentioned is easily done, yet not easily done well.  Dk's private build (and I *think* the public build as well) supports borders.  The borders use the aspect of the image optionally, so for vertical games, the border matches around the snap just as well as horizontal ones.  The drawbacks of this should be obvious though.  First off the border image is stretched to fit, and therefore, some distortion occurs.  Making a perfectly square border helps to minimize this, but there is still some distortion.  Also this can only be used on 2d (or pre-transformed polys) easily as with those methods you actually have an aspect ratio of both the snap and the border image to go by.  It can be done in 3d, but it is a lot harder. 

Lilwolf, sorting lists by contorl type sounds good in theory, but until controls.dat is complete it's rather impossible.  Rght now it can be done via queries to both the dat and mame's listxml, but the results are MAYBE 80% accurate due to lack of data and the odd and rather unstandardized way that mame groups controls.  Johnny5 does the best sort job so far (cpwizard is really getting there) so it might be a better idea to modify those programs and allow them to be queried in order to make lists.  Running through mame's crazy controls hierarchy is a project on to itself, which is why j5 was never integrated into dk. 

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #38 on: December 06, 2007, 10:45:57 am »
The list scrolling animation can be disabled by changing the skin:

Look for:
Code: [Select]
        <ScrollValue>
              1
        </ScrollValue>

in the skin file (skins\kymaera.skn by default) and change the 1 to a zero.


Old, but not obsolete.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #39 on: December 11, 2007, 11:44:11 am »
Conditional skin elements are in. The syntax of the conditions is a bit tricky. This condition will display the skin element if the year field is less than 1982:

Code: [Select]
                    <Condition>
                        $(lt,$(eval,$(getvar,__G_YEAR__)),1982)
                    </Condition>

The guy who wrote Autocad came up with a language and some source code, called "Diesel" to evaluate expressions which have strings in them and so I copied that. Originally the less-than function was "<" but I changed that to "lt" to not conflict with XML.

I have also been playing around with trying to get the 3d models and the external masking to work.
Old, but not obsolete.

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #40 on: December 12, 2007, 03:30:36 am »
Sounds like you've been busy, looking forward to seeing the results.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #41 on: December 18, 2007, 09:19:04 am »
I found a nice optimization (use of OpenGL display lists) which greatly increased frame rates for the simplest skins, ones with no movies or texture scrolling. This will help Khameleon to run better on low end machines.

Edit: Running the "Niobe" skin that was designed for Mamewah, the idle framerate displayed by Fraps went from 20 to over 100 fps on my crappy laptop.
« Last Edit: December 18, 2007, 03:57:06 pm by Cakemeister »
Old, but not obsolete.

gonzo90017

  • Trade Count: (+5)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1034
  • Last login:June 23, 2019, 02:41:07 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #42 on: December 18, 2007, 04:50:45 pm »
How crappy is your laptop?

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #43 on: December 18, 2007, 05:52:47 pm »
Thinkpad T60. The processor is actually okay, Intel T2400 @ 1.83 GHz. The machine has 1GB of memory. But the built-in video is what makes it crappy. It doesn't support a lot of the OpenGL extensions.

I should try this on a machine with a decent video card and see what the benefit is.
Old, but not obsolete.

JoyMonkey

  • Voodoo Wiki Master . . .
  • Wiki Master
  • Trade Count: (+5)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 2899
  • Last login:June 16, 2025, 09:16:27 pm
  • Candy is Dandy but Liquor is Quicker
    • JoyMonkey.com
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #44 on: January 03, 2008, 08:33:31 am »
Are you planning on doing another public beta?
I'd love to give it a try with all the new bells and whistles that you've added.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #45 on: January 03, 2008, 04:29:41 pm »
I've been trying to get the external masking to work the way I want. It's actually pretty hard to do in OpenGL.

My model drawing code doesn't work either.

Once I get one or both of these working I'll make another public beta.
Old, but not obsolete.

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #46 on: January 03, 2008, 05:03:15 pm »
Once I get one or both of these working I'll make another public beta.

Looking forward to that.

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #47 on: February 08, 2008, 10:31:51 pm »
How are you progressing Cakemeister?

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #48 on: February 10, 2008, 12:47:53 am »
Slowly. I'm trying to learn the GLSL shading language and how to use it.

Old, but not obsolete.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:57:54 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #49 on: February 14, 2008, 05:15:10 am »
As someone ready to see this released I demand more pictures!

Btw if you'll post some screenshots of the render errors in terms of the models I may be able to help.  I ran into a lot of really wierd stuff when getting dk ready for 3d models... lots of times it isn't the render code but the model itself!

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #50 on: February 14, 2008, 11:54:47 am »
Well, right now the texturing doesn't work.

Old, but not obsolete.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #51 on: February 14, 2008, 02:26:55 pm »
I got some textures to load, but it looks like some don't load and some are displaced from where they're supposed to be.

Old, but not obsolete.

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #52 on: February 14, 2008, 04:29:16 pm »
I hope you solve the texturing problem as that's looking great.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #53 on: February 14, 2008, 05:30:30 pm »
I figured out one texturing problem. The problem I have now is that one side is missing. I don't know if it's the model or the loader code.

« Last Edit: February 14, 2008, 05:34:05 pm by Cakemeister »
Old, but not obsolete.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19427
  • Last login:Today at 12:57:54 am
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #54 on: February 15, 2008, 02:22:31 am »
My guess would be your problem is either the depth buffer (3d arcade models confuse the hell out of buffers, you might as well just turn it off) or the order in which you assembled the model when you exported.  Things towards the outside have to be last in the object list when you export to X (or whatever) with sides and especially the bezel being last.  I'm pretty sure it's one or the other because I had the exact render errors on the exact same model and if I remember correctly (it's been a while) the solution involed one or the other. 

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #55 on: February 15, 2008, 12:21:08 pm »
The problem turned out to be that the side wasn't exported into the .3ds file. Dunno why.

Arcade machine models are typically created in the .max format, which is closed source. On the 3darcade site they have some models published in .w3d format, which is also closed source.

My code needs models in the .3ds file format for which there are several source code libraries available for reading. The .3ds format has some flaws, though.

Howard was working on another kind of file format which he called UAM which had the textures and meshes all included in one file. If the UAM file can be easily exported from the original .MAX sources and the file format is open for all, I might use that in addition to the .3ds files.


Old, but not obsolete.

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #56 on: February 16, 2008, 04:17:42 pm »
I've implemented an animation scheme similar to what the new frontend HyperSpin does. Right now Khameleon only does translations like Atomic does, but I think that by the time the official HyperSpin is released, I should be able to duplicate most of its animation effects. You will be able to animate translations, sizes, rotations, and alpha (fade-in/fade-out), all on a per-object basis. I'll probably make some canned animations to replicate what HyperSpin does.

I'm also thinking about having an emulator selection skin. When an emulator is selected the appropriate skin will be displayed for that emulator. Then ESC will go back to the emulator selection skin. Right now ESC will just exit.


Old, but not obsolete.

RetroBorg

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:July 06, 2022, 09:22:13 am
  • Your arcade games will be assimilated!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #57 on: February 16, 2008, 04:38:12 pm »
I've implemented an animation scheme similar to what the new frontend HyperSpin does. Right now Khameleon only does translations like Atomic does, but I think that by the time the official HyperSpin is released, I should be able to duplicate most of its animation effects. You will be able to animate translations, sizes, rotations, and alpha (fade-in/fade-out), all on a per-object basis. I'll probably make some canned animations to replicate what HyperSpin does.

I'm also thinking about having an emulator selection skin. When an emulator is selected the appropriate skin will be displayed for that emulator. Then ESC will go back to the emulator selection skin. Right now ESC will just exit.

This is sounding better all the time.

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #58 on: February 17, 2008, 07:52:07 am »
I've implemented an animation scheme similar to what the new frontend HyperSpin does. Right now Khameleon only does translations like Atomic does, but I think that by the time the official HyperSpin is released, I should be able to duplicate most of its animation effects. You will be able to animate translations, sizes, rotations, and alpha (fade-in/fade-out), all on a per-object basis. I'll probably make some canned animations to replicate what HyperSpin does.

I'm also thinking about having an emulator selection skin. When an emulator is selected the appropriate skin will be displayed for that emulator. Then ESC will go back to the emulator selection skin. Right now ESC will just exit.

Lol watch everyone jump on the bandwagon now! Since everyone is doing the same animation system maybe we should come up with a format standard? Or would people prefer to write custom importers? Right now the format I've designed can do any sort of animation HyperSpin can, incuding rotation, scaling, translation, shearing and alpha blending. It's very simple, frame based and supports the standard Flash based easing (Linear, Quad, Cubic, Quart, Quint, Sine, Expo, Circ, Elastic, Back & Bounce) so it's also very flexible and all controlled through xml.

Also it would be cool to have a rasterized font standard as well. That way people can use the same layouts and fonts in different FE's. It could also mean that only one theme editor needs to be written.

We could come up with a standard and then just ignore unsupported commands. Or is it too complicated trying to agree on a format?
« Last Edit: February 17, 2008, 07:56:09 am by headkaze »

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #59 on: February 17, 2008, 11:39:41 am »
Well, the format I created for animations is pretty simple. Here's an example:

Code: [Select]
<Animation>
   <Name>
      animate_atomic_snap
   </Name>
   <StartClock>
      0
   </StartClock>
   <AnimationStep>
      <Duration>
         2.0
      </Duration>
      <StartOffsetX>
         2048
      </StartOffsetX>
      <EndOffsetX>
         1024
      </EndOffsetX>
      <StartOffsetY>
         -4192
      </StartOffsetY>
      <EndOffsetY>
         0
      </EndOffsetY>
      <Duration>
         1.0
      </Duration>
      <StartOffsetX>
         1024
      </StartOffsetX>
      <EndOffsetX>
         0
      </EndOffsetX>
      <StartOffsetY>
         0
      </StartOffsetY>
      <EndOffsetY>
         0
      </EndOffsetY>

   </AnimationStep>
</Animation>

There are a couple of thing's I'll have to add, such as a movement type (linear, sinusoidal, etc).

Not sure what you mean by a rasterized font standard. I use the FreeType library to render ttf fonts.
Old, but not obsolete.

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #60 on: February 17, 2008, 12:03:25 pm »
Seems a little long winded, which might not be a problem unless it's all generated by some sort of editor.

The format I'm using is more like this

Code: [Select]
<Tween Ease="Bounce" EaseType="InOut">
   <Frame Duration="5"><Rotate X="0" Y="0" Z="0"></Rotate></Frame>
   <Frame Duration="5"><Rotate X="0" Y="0" Z="5"></Rotate><Scale X="0" Y="0" Z="-1"></Scale></Frame>
   <Frame Duration="5"><Rotate X="0" Y="0" Z="0"></Rotate></Frame>
</Tween>

If your thinking more of a Flash type animation system then something like this is probably more appropriate. Once this sort of thing is working then we can just have "canned" animations by having commands that group some of these into one or more commands.

BTW How did you read AtomicFE skin format? I looked at that a while ago and it looked encrypted. Or was it just some sort of binary format?

Cakemeister

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1002
  • Last login:May 31, 2024, 06:23:16 pm
  • I'm a llama!
Re: Khameleon front end public beta (successor to Kymaera)
« Reply #61 on: February 17, 2008, 01:31:03 pm »
Atomic skins are binary files. I just had to go into the skinner and figure things out from there.

Old, but not obsolete.