Cosmo's Cosmic Adventure II: The Humanizer Thread

Anything related to Keen Modding.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Funny you should ask, I just uploaded a Keen 5 executable map here: http://www.shikadi.net/keenwiki/Patch:Executable_Maps

The 0000:0000 notation is segments. The first four numbers are the segment, multiply this by $10. The second four numbers are the offset in that segment. Add this to the segment and you have the location.

For example, 0104:0846 is $0104 * $10 + $0846 = $1040 + $846 = $1886. Anything wanting to go to that code will (usually) use the string $9A $46 $08 $04 $01. This is how I tracked down the sprite structures, I looked for the 'go to draw sprite' string, just before which are the animation structure pointers.

The pastebin data with the locations converted is here: https://dl.dropbox.com/u/3940020/COS1MAP.txt

With all these actor functions, editing actor behaviors and sounds should be easy. (Should I post this to the Modding wiki I wonder?)

And of course with this map we can produce at least partial maps for Cosmo 2 and 3. What we really need now is a patching utility.

Anyone...?
fuzzie
Posts: 3
Joined: Sun Apr 07, 2013 8:27 am

Post by fuzzie »

levellass wrote:With all these actor functions, editing actor behaviors and sounds should be easy. (Should I post this to the Modding wiki I wonder?)
A lot of the actor logic is in big switch tables in functions like ActorCheckIsInactive, annoyingly (and some parameters are hardcoded in the huge switch table in CreateActor although that's largely just setting things like the sprite id and the falling state). I didn't export the local per-function labels because they're even less coherent than my function naming, but they might be useful too...

(Feel free to do whatever you want with any of my work here, by the way.)
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:With all these actor functions, editing actor behaviors and sounds should be easy. (Should I post this to the Modding wiki I wonder?)
Funny you should ask. I just posted and formatted the page for CCA a few days ago: http://www.shikadi.net/moddingwiki/Cosm ... Adventures

I tried the same thing with an "Engine Executable format, but Malvineous thought it was too much. (He seems to have left my new "Actors Attribute Format" link alone, though.)

If the format is standardized, you could post the structure of the attributes. :D
Cobalt
Posts: 20
Joined: Wed Apr 03, 2013 2:15 pm

Post by Cobalt »

It is my Original Character (OC).
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:It is my Original Character (OC).
You're not understanding what I'm saying. I need to see a picture of this character before I can make a decision to include him in the game.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

I am not sure how long that attribute format will last, since it's not really a format so much as assigning values to sprites. (In Keenwiki I have pages for say, sprite type that lists all the values in games, but again, they're not formats.)
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:It is my Original Character (OC).
Never mind. I just saw the picture you made of Billy the Blazehog. I can't accept this character to put him in the game. Sorry.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

I needed a small hiatus from this to get my artistic motivation back.

I do have a question. Is it possible to rearrange the sprite list simply by rearranging the code and modifying the pointers?
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

What do you mean by 'the sprite list' exactly?

It's possible to change the animations used via that method, yes.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

Never mind. I think I may have found a way around my problem, and it'll leave everything be. It'll be tough, but it just might work.

All I need to know now is how to change the things that the flower cannon spits out.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

I found another way to implement one of my gameplay ideas for episode 3. (but in order for it to work, it needs some tweaking.)

What I meant by sprite list was what fuzzie was talking about:
fuzzie wrote:
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.
Also, levellass, you've just accidentally created a method by which (future) editors of Cosmo's Cosmic Adventure can add more frames!! With your editor, all that you have to do is just make an ACTOR###-##.BMP file, with a frame number that is one higher than the highest! [I.E. If the highest frame number is ACTOR###-02, you can add an ACTOR###-03, and it'll work!!]
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

That was the intention; I wanted it to work with all possible Cosmo files, even those edited to have a different number of frames.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

One of the more difficult challenges will be making custom TILEATTR maps by hand. :(

(Yes, I could just as easily place the tiles where the attributes I already want are, but I could run out of already-present attributes quickly. The custom map could probably be done, but I could easily lose track of my place in all those numbers in the hex editor. :P)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Are they things like tile properties? Because I think I may have a program for doing those.
User avatar
T-Squared
Posts: 143
Joined: Mon Dec 01, 2008 6:11 pm
Location: San Antonio, Texas
Contact:

Post by T-Squared »

Yes! Exactly! Tile properties like whether Cosmo can grip onto a surface, or if it appears in front of him instead of behind him, or if it is a surface that Cosmo can't walk up.
Post Reply