Cosmo's Cosmic Adventure II: The Humanizer Thread

Anything related to Keen Modding.
Cobalt
Posts: 20
Joined: Wed Apr 03, 2013 2:15 pm

Post by Cobalt »

Billy the Blazehog :)
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

No, sorry, I am not accepting characters to be used in the game unless they are distinctly alien or extraterrestrial. Sonic the Hedgehog Fancharacters don't count. (I have 3 spaces in the story for extraterrestrial characters.)
Cobalt
Posts: 20
Joined: Wed Apr 03, 2013 2:15 pm

Post by Cobalt »

He's an alien from planet Blazehog III and it was destroyed.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

Cobalt wrote:He's an alien from planet Blazehog III and it was destroyed.
May I see this character so I can make a decision to include in him in the game? (BTW, this ficitional character has to be a kid in order for me to include him.)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Ok, this is weird. there was an error that allowed incorrect bitmaps (Now fixed.) but your bitmaps are fine, and for me they import fine into the game. In fact here is a working import with your bitmaps plus the game with your bitmaps in it: https://dl.dropbox.com/u/3940020/COSMOG ... 20test.zip

I haven't the faintest idea why this wouldn't work for you, the only thing I can think is that ACTORINFO.MNI wasn't updated when ACTORS.MNI was. What happens if you delete these two files *before* importing? Does the problem go away? Is only one created?
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

Oh perfect! 8D

I haven't tried deleting ACTRINFO.MNI or ACTORS.MNI, but I'm glad to help with the beta testing. :D

There's something oddly satisfying about seeing your own handmade graphics and hearing your own handmade sounds in a game.

BTW, I provided a link to Wombat Game tools on the Modding Wiki page for CCA. :D (Oh, and if any of you are on a Mac, it actually works on that too! Just download Wineskin Winery and you can run it just as you would a Windows Program!)

Edit: AHA! That was the problem! The ACTRINFO.MNI file was not updated! :D The graphics work perfectly now! Although I now realize how they're drawn. The left side of the sprite is anchored to an imaginary "edge", so any frames which have a smaller hitbox tend to drift to the left, instead of staying centered.

Does the Cosmo engine run on the same principles as Commander Keen?
Namely:
*Can one change the music selection as easy as changing a few bytes? (I know it's possible to do so in level files, but that's probably easy for one who know what they're doing. I'd like to change the ending music in episode 3.)
*Can one change the sound an actor makes? (That's a bit harder.)
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

Ok, I've found a few more animation framesets in the executable (list will be updated as I find more):

https://www.dropbox.com/s/kq9ruh3jakksv ... MESETS.rtf
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

Came across a glitch in the actor map. Both the Vine Creature and a few of the mushroom smoke cloud animation frames got corrupted. The rest of the frames work perfectly, though.


Is it actually possible to add frames based on how the actors are formatted? Like, just as easy as making another frame for an actor with a filename like this?
I.E.: ACTOR###-07.bmp for an actor which normally has 7 frames, now has 8 frames. (Yes, I understand the 0-255 inclusive convention for hex values.)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

The cosmo executable works on similar, but not identical patterns to the Keen executables.

*Can one change the music selection as easy as changing a few bytes? (I know it's possible to do so in level files, but that's probably easy for one who know what they're doing. I'd like to change the ending music in episode 3.)
In the case of the ending or title music, yes. The problem is finding those bytes since the game makes a list of the music files available to it then numbers them.

*Can one change the sound an actor makes? (That's a bit harder.)
This is as simple as changing the sounds in Keen 1, but again the problem is finding the sound, complicated by the fact that there are not one but three sound files.

Note that the data segment is located at $1A040 in cosmo 1, (18A40 in the dump) this lets us find where any text is called from. Indeed, using this I can easily get you all of the animation structures. Cosmo's Invincibility shield for example is called at $992E. I could send you a list of the dozens of structures I've found (Note I have not identified what uses them, only the separate structures and where they are called in the code.)

Changing the number of frames has proven tricky, I have some basic idea, but nothing that works yet.


Mostly this is an issue of there not being a dedicated modding community to investigate the executables over several years.
fuzzie
Posts: 3
Joined: Sun Apr 07, 2013 8:27 am

Post by fuzzie »

levellass wrote:Mostly this is an issue of there not being a dedicated modding community to investigate the executables over several years.
Hm, well: I have investigated cosmo1 pretty comprehensively from an executable point of view, enough to make a good start on an engine reimplementation (http://i.imgur.com/s4mHwbV.png). I have very little idea about modding, but I can probably answer questions about where things are and what things do.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

levellass wrote:Changing the number of frames has proven tricky, I have some basic idea, but nothing that works yet.
Don't worry, I won't be needing to do that. It was just an afterthought. I can actually make do with the frames given to me. (Mostly the modding will be music, graphics, changing a few status points, and exploiting the sprites and physics of the actors.)
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

fuzzie wrote: Hm, well: I have investigated cosmo1 pretty comprehensively from an executable point of view, enough to make a good start on an engine reimplementation (http://i.imgur.com/s4mHwbV.png). I have very little idea about modding, but I can probably answer questions about where things are and what things do.
Oooh! Can you tell me if there's a way to change layering priority? Like, a character can now walk in front of another one, instead of behind it. (It's like the sound priorities. Whichever one has the higher priority is played over any sound which has a lower priority.)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

I thought the priority related to what order the sprites were 'activated' in a level, starting from the top left corner. This will be interesting.

Do you have an executable map? Sort of, a list of what code where does what function? I've been planning to put some maps up on the Keen wiki.
fuzzie
Posts: 3
Joined: Sun Apr 07, 2013 8:27 am

Post by fuzzie »

levellass wrote:I thought the priority related to what order the sprites were 'activated' in a level, starting from the top left corner. This will be interesting.
That sounds right; there are different types of sprites which allow temporary sprites (rain, explosions, etc) to be rendered at different priorities, and the background tiles are rendered in two passes, but to re-order the normal sprites you'd have to rearrange them in the list, unfortunately.
Do you have an executable map? Sort of, a list of what code where does what function? I've been planning to put some maps up on the Keen wiki.
http://pastebin.ca/2352626 contains (I hope) the relevant bits of IDA's .map export for my database; not very coherently named unfortunately (e.g. 'DynActor' is your normal sprites, and some of the function names are probably plain wrong), since it's only really intended for my use. But hopefully useful.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

WOW! I could never be able to decode that from the Hex code! I'm only familiar with color theory when it comes to EGA.

Fuzzie: I thought they would put the sprite attributes in a specific format inside the program, like they did with tileatttri.mni.

EDIT: I need some help reading your translation of the program map, levellass. (Namely, the 0000:0000 notation.)
Post Reply