Camoto Windows version

Discuss classic and favorite computer or console games here.
User avatar
Malvineous
Shikadi Webmaster
Posts: 382
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Post by Malvineous »

@MoffD: Yes, this is because those file formats are unknown and somebody needs to reverse engineer them.

@Nickssoft: Not sure about Alien Carnage (its files are compressed) but Halloween Harry is getting there. More work needs to be done to figure out how sprites are placed in levels, but once that's done custom maps can be made.
NY00123
Vorticon Elite
Posts: 508
Joined: Sun Sep 06, 2009 19:36

Post by NY00123 »

Not sure how up-to-date is this table, but it can to be useful if it is relevant: http://www.shikadi.net/camoto/gamelist

Eventually, it is whoever is actually working on Camoto Studio who decides how to do everything, but my little intuition says that it is probably good to go over the following tasks in the given order, at least for now:
- Ensure there is full modding support for at least one game via the command line tools, all kinds of graphics, audio and more included. (Beeps, MIDI, OPL, digitized, whatever it'll be.)
- Improve the UI to such a level that it is fully ready, at least for the specific game. (Sure, it's not that the command-line tools are not useful at all in such a stage.)
- At such a point, I guess that the game may be referred to as... I don't know. A "test run" for Camoto Studio?
- However, as hinted at some point, one should expect that the UI may need to be extended, if not redesigned, due to a newly added game differing from supported ones in some technical way(s).
- Finally, make it clearer to the user of the GUI what is fully supported (say tile editing for a specific game) and what is not. (On a second thought, that may be a bit tricky if it is possible to edit some files individually.)

NOTE: As written before, admittedly I haven't exactly gotten into modding so often, and I touched Camoto Studio for only a bit long ago. Although, when one thinks about that, it can be tempting to try it...
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

I didn't realise ModKeen had a UI? I thought it was a command line program?
Sorry, I should have said 'modding experience'; the way Modkeen handles things like sprites and tiles is very well. Grouping the tile chunks together is good, how they were meant to be edited. Keeping the sprites separate is also good. WDC splits every single chunk into its own image, which is very annoying when editing tiles. Many other programs I used kept sprites in one image which was a pain. (It's why I built my own Cosmo editor.) It's not so much an interface as it is how it handles exporting and importing I guess.
What you really need, not what you think you ought to want.
User avatar
Malvineous
Shikadi Webmaster
Posts: 382
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Post by Malvineous »

Ahh right, I see. Camoto currently just makes available whatever way the game stores it - if it has multiple images together then they are exported side by side, but if the game stores each frame separately then that's the way they will be exported. For tilesets, you can change how many images you want lined up horizontally - presumably if you reduce this to one then you'll have all the tiles in a long vertical line which might not be so bad. I do want to extend the UI to allow you to export individual tiles as separate images, but I'm not sure it will be practical to do the reverse - export multiple independent images into one .png file.

I guess that will always be a limitation of this kind of editor. When you are only handling one game you can be really specific, but when you need to handle a bunch of different games you have to be a little less flexible in what you can support or it will become insanely complicated.

Hopefully this sort of thing won't be too big of a deal though!

Having said that, there's nothing stopping you from writing your own program to interface with the libraries (DLLs) and export images for just one game in the way you want. You could probably even script it in a .bat file with ImageMagick, exporting and assembling the images just how you want, which would be even easier.
User avatar
Pokota
Vortininja
Posts: 129
Joined: Wed Apr 06, 2011 19:49

Post by Pokota »

Unrelated, but: Lass, is your Cosmo editor available for public use?
There was something here, but my yorp ate it.
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

It's only graphics type stuff; exporting and importing of tiles, sprites, fonts, music and suchlike, you'll need your own level editor.

It's here: https://dl.dropboxusercontent.com/u/394 ... SGRAPH.zip


There have been reports of import problems, so this is the editor set up to import already extracted graphics: https://dl.dropboxusercontent.com/u/394 ... 20test.zip
What you really need, not what you think you ought to want.
User avatar
Paramultart
VBB's Partner in Crime
Posts: 3004
Joined: Mon Jul 26, 2010 8:36

Post by Paramultart »

Malvineous wrote:Anything in particular you don't like about the style? I'll admit it's pretty basic, but to be honest most of the effort so far has gone into the file formats rather than the UI.
I think the UI is great, but perhaps the program could use a flashier, more provocative name... I'm thinkin' "Cameltoe Studio 3".
What's the "3", you ask? Don't. :keenfishingforhiskeys
"Father Mabeuf was surveying his plants"
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

That's both a terrible pun and terrible reference.
What you really need, not what you think you ought to want.
User avatar
Paramultart
VBB's Partner in Crime
Posts: 3004
Joined: Mon Jul 26, 2010 8:36

Post by Paramultart »

I'll show you my terrible reference. :evil
"Father Mabeuf was surveying his plants"
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

Hang on, let me get my magnifying glass.
What you really need, not what you think you ought to want.
User avatar
Malvineous
Shikadi Webmaster
Posts: 382
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Post by Malvineous »

I've just posted an updated version (2013-10-25) with a few updates, mostly around Monster Bash. Unfortunately the game exits after you finish the first level, complaining that FILE_ID.DIZ has been modified, so I guess Levellass if you're looking at patches, that's probably a priority if anyone ever wants to make more than a one-level mod!

This release also includes partial support for Vinyl Goddess From Mars (levels partially viewable, but not editable) and support for modifying Raptor .GLB archives (and modifying one image format - the rest still need to be reverse engineered.)

BTW - if anyone is looking at patches, it would be great to have some way of skipping all the intro screens and menus and jumping straight into a particular level. This way when you're designing a level in Camoto you can much more easily test it without sitting through all the intro sequences and loading a saved game. This applies to all games too, not just Monster Bash!
User avatar
lemm
Blorb
Posts: 696
Joined: Fri Jul 03, 2009 10:18
Location: canada lol

Post by lemm »

The sprite UI could definitely use some enhancements. A lot of games (those that use the Keen Galaxy Engine and the FAST engine, at least) have sprite hitboxes and sprite image offset data in the graphics archive. I'd like to be able to edit all of this visually by dragging a translucent hitbox over top of the sprite, and by repositioning the image relative to the actor origin.

As for the FAST engine itself, there is an array in memory that looks like it will need to be patched to allow for different sized sprite groups.


Finally, it would be neat to have some sort of "action" editor that can edit structs that govern actor behaviour. Almost all games will have a bunch of behaviour functions, and corresponding pointers to these functions in some form. I made a program called "IDACTION" that let you do that for keen, and I know that the FAST engine also has similar actor structures, so it would be possible to to something similar for Bash and Scubaventure. Anyway, some sort of generic patch database for each supported game that lets you patch simple values and swap enemy behaviours would be neat. This would allow people with limited assembly knowledge to make new creatures, quickly.
User avatar
Malvineous
Shikadi Webmaster
Posts: 382
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Post by Malvineous »

Yeah there isn't a sprite UI yet, it's just sharing the same UI used for displaying tilesets. I would have liked to export the hitmap as another layer in the image, but image editor support for this is sketchy.

I was thinking of handling the hitmap as four guide lines you can drag around, effectively drawing a rectangle around the part of the sprite that should count as a hit. But this will limit those games that have per-pixel hitmaps, not allowing them to be as fine-grained as they could be. Any suggestions for something that would work for both kinds of hitmaps?

What do you mean by "different sized sprite groups"? IIRC each frame of each sprite can be a different size and that size is stored in the image itself, so changing the size of sprites - I am guessing - shouldn't be a problem.

Having a sprite behaviour editor is an interesting idea, but I'm very unfamiliar with how this is implemented in games, so I'm not sure of a game-independent way of presenting it. But I'm certainly open to the idea. An internal patch database would be interesting too, but at the speed most patches are produced I'm not sure distributing them with Camoto would be the best way - I'm thinking an online system might be better for that sort of thing, so (like the wiki) people can add and update patches easily. Again, I'm open to suggestions!
User avatar
lemm
Blorb
Posts: 696
Joined: Fri Jul 03, 2009 10:18
Location: canada lol

Post by lemm »

I think it would be best to have two different types of hitbox editors then.

By "sprite groups," I was referring to the number of frames for a given sprite. If the number of frames in a sprite needs to be modified, an array in the data segment that will need to be patched. On the Monster Bash page at the ModdingWiki, I have documented some discoveries I made about the disassembly.
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

What do you mean by "different sized sprite groups"? IIRC each frame of each sprite can be a different size and that size is stored in the image itself, so changing the size of sprites - I am guessing - shouldn't be a problem.
There are several problems at present. Firstly when all images are lumped as they tend to be it can be a real pain to resize sprites. (Make one bigger, shift all the rest.) Which is why, as I believe you have noted, it would be a good idea to keep things one sprite, one image.

The second problem is some games require patching when editing graphics or the number of sprites. Lemm speaks about this.

Having a sprite behaviour editor is an interesting idea, but I'm very unfamiliar with how this is implemented in games, so I'm not sure of a game-independent way of presenting it. But I'm certainly open to the idea. An internal patch database would be interesting too, but at the speed most patches are produced I'm not sure distributing them with Camoto would be the best way - I'm thinking an online system might be better for that sort of thing, so (like the wiki) people can add and update patches easily. Again, I'm open to suggestions!
This is a pipe dream.Every game is different (Jazz Jackrabbit for example can store custom behaviors in its level format.) It would require an understanding of the code of darn near every game you wanted to support, and that's a massive undertaking. If you start that, you will never finish.

A general version of CKPatch that could patch any game would be far more useful. (For one it would allow people who are not affiliated with us to set up their own modding communities for whatever obscure game they liked.)
What you really need, not what you think you ought to want.
Post Reply