Draggin Days Patches

Request patches for Keens 1-3.
Stealthy71088
Posts: 583
Joined: Thu Mar 17, 2005 11:54 pm
Location: NY

Draggin Days Patches

Post by Stealthy71088 »

Alright, here are some patches I would like for Draggin Days (keen1)

1. I would like two patches that determine which ega-files keen reads. one patch for the files ending in .dk1 and one for .nk1., as well as including the map level. The other levels I would like to remain .ck1.

2. Items can be gotten on the map.

3. Pogo is removed when you enter a level.

4. Guard bot shoots Ice blocks (using up right and up left) to the right and left instead of normal shots.

5.Ice blocks ( up right and up left) spawn a garg on collisions with other things.

6. Ice blocks (up right and up left)can be destroyed on impact with keen's shot.

7. Up ice block is solid. Keen can stand on it- acts like elevator.

Ill post more when i have time. any questions ask and il clarify
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

1.) We've always had one; in the patch index under 'files and filenames' the ega filenames are read from:

Code: Select all

%patch 0x0158D4 "EGASPRIT"
%patch 0x0158CA "EGALATCH"
%patch 0x0158C1 "EGAHEAD" 
The endings are read from:

Code: Select all

%patch 0x014F15 "CK1"
But this affects nearly all the files, including levels. When we look at the code that looks for this, there just isn't enough space to seperate the level and graphics endings [the preview file are seperated by another piece of code] However, you can patch the graphics files to any other name you want, say DK1GRAPH and NK1GRAPH, that should work.

2.) Can't help you there.

3.) Will look into this one, should be simalar to the code that removes the keycards apon level exit.

4.) You can make the robots shots freeze, and also alter their speed, even make them move up; another patch will make them freeze. You see, even if we get the robot shot to spawn an icecube, it will still rely on the robot shot's speeds to tell it hopw fast to go. If we take a look at the sprite patches file I made;

Code: Select all

#Make the robot bullet an icecube:
%patch $490D $92 $21 #Robot shot shatters into icecubettes when hits stuff
%patch $48E9 $0F $00 #Shot freezes instead of kills
%patch $491D $70 $00 #Sprite is same as icecube
Also:

Code: Select all

#Height bullet is spawned at:
%patch $48FE $C2 $00
Although there's probbably a simpler switching patch I could make.

Sadly, all the iceblocks use the same behaviour; this makes making them behave differently quite difficult, I don't know how you'll manage it. Mind you, you can patch each of the four icecube fragments to be something different, such as a garg:

Code: Select all

#Make icecubes spawn a Garg when they hit a wall:
%patch $21B0 $00 $00 
%patch $21EC $00 $00 
%patch $2228 $00 $00 
%patch $2264 $03 $00 #Kills like garg
%patch $213E $CE $1B #Icecubes spawn dead garg when shot
%patch $2269 $51 $1B #Spawn garg instad of icecubette
User avatar
Freeyorp101
Posts: 159
Joined: Thu Nov 24, 2005 2:12 am
Location: New Zealand

patching

Post by Freeyorp101 »

1) seperate filenames are impossible with the space keen gives us, though the above patch tends to serve well enough.

2) there's a topic about doors on the map somewhere, but im not sure about items.

3)
should be simalar to the code that removes the keycards apon level exit.
seeing as you're effectively exiting the map, yes.

4) see above, though up right and up left may be impossible to acheive

5) see above

6) ah, now THIS I can help with.

Code: Select all

#Destructable iceblocks
%patch $213E $00 $4A 
note that two iceblocks colliding will destroy each other.

7) probably impossible. The iceblocks use same code areas, and affecting one will likely affect the others.
Stealthy71088
Posts: 583
Joined: Thu Mar 17, 2005 11:54 pm
Location: NY

Post by Stealthy71088 »

The idea for losing the pogo on level entrance was that if the pogo was a collectible on the map, I could use it to make pop-up walls blocking you. If that is impossible, then there is no reason for the losing pogo on level entrance patch.

I wanted the ice cubes instead of the normal shots so I could spawn the garg. It doesn't have to freeze, although, seeing as the garg that appears will kill, it doesn't matter.

If instead I somehow had the guard bot's shots spawn a garg on collison
(I'd have to use the patch that makes the bot's shots only be a "Zot." I thought I read somewhere that LL said spawning things from zots was impossible) that would free up the ice cube. Could the ice cube going up then become an elevator? It doesn't have to go back down- I'll be able to make clouds of smoke coming up that Keen can stand/ride on.
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

Right; popup walls? Do explain this. It is possible to make walls that appear after Keen walks past them for example, but only 2 tiles at a time.

Now you want the robot's shot to spawn a garg do we? Lets see...

Firstly, this patch makes the robot shoot gargs:

Code: Select all

%patch $490D $51 $1B #Shot acts like garg
%patch $48E9 $0B $00 #Kills Keen and themselves if two colide
%patch $4918 $CE $1B #Spawns dead garg when shot
%patch $48FE $00 $00 #Spawns above ground, not under it
The second line stops lots of Gargs building up, yes they seem to fall from the sky, but whatever, just fiddle the patches.

However, we can also alter some of the zaps and zots produced when shots hits stuff. Sadly, Keen's and the robot's shots spawn the same zap/zot when they hit walls, but different ones when they hit sprites. The spawned Garg will have the same property as the robot shot.

Code: Select all

#Robot shots spawn gargs when they hit a sprite [including the spawned garg and/or Keen]
%patch $4A21 $51 $1B #The garg will kill

Code: Select all

#These are trite, and appear when a robot shoots against a wall
#i.e, not very often.
%patch $4976 $51 $1B #The garg will kill

Code: Select all

#Both Keen and the robot's shots spawn gargs when they hit walls:
%patch $4822 $03 $00  #kills Keen
%patch $4828 $51 $1B #Acts  like Garg
Sadly, in this last patch the spawned Gargs dissapear with a zap/zot when they hit stuff Keen if the property $0B they'll also zap when they hit each other and other sprites [which they will kill] If you plan on using this patch, I'm pretty sure I can make them die like normal gargs, just tell me.

Now, what can we do with those icecubes? All four will push Keen sadly, we'll have to alter all four's properties, but we can alter their directions too, so lets get patching:

Code: Select all

#Icecube elevator attempt:
%patch $20D6 $06 $00 #Push Keen [sideways] instead of freezing
%patch $213E $45 $20 #Don't dissapear when hitting Keen
Sadly, the 'push' behaviour pushes Keen sideways, not up; I don't know how to alter this. Keen 3 has an elevator behaviour, Keen 1 doesn't. However, these icecubes can push Keen along if wa alter their speeds, and the upwards ones will push Keen aside if say, he's trying to fall down a passage.

Code: Select all

#Up right icecube
%patch $2110 $38 $FF #Up speed
%patch $2115 $C8 $00 #Right speed
#Up icecube
%patch $211C $38 $FF #Up speed
#Down icecube
%patch $2128 $C8 $00 #Down speed
#Up left icecube
%patch $2134 $38 $FF #Up speed
%patch $2139 $38 $FF #Left speed
User avatar
Freeyorp101
Posts: 159
Joined: Thu Nov 24, 2005 2:12 am
Location: New Zealand

Post by Freeyorp101 »

pop-up walls blocking you.
Like those in episode smile?

KR used a raygun tile patched not to give any shots, but the pogo is just as generateable ( make it impossible to NOT get a pogo on one compulsary level before the popup levels, or the start with pogo patch, or the pogo tile before the popup walls.)

Be careful with the elevator patch. I did something similar with a mod I'm working on and the elevator barely shoves aside in an vertical position.
Making the speeds fast enogh to do this may make it seem like instantaneous sonic waves which may or may not be useful for this. How fast are you prepared to let the smoke go?
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

Hmmm, interesting. I'm sure I can make another tile act like a pogo or shotless raygun given enough time...
User avatar
Freeyorp101
Posts: 159
Joined: Thu Nov 24, 2005 2:12 am
Location: New Zealand

Post by Freeyorp101 »

Hmmm, interesting. I'm sure I can make another tile act like a pogo or shotless raygun given enough time...
I'll look forward to it if you do. I'm using popup walls in keenwarp2, and it doesn't nessecarily have to be popup walls either. Hmm...
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

What is exactly wanted here? Some other tiles not give pogo or raygun or completely new empty tiles? I could look at this.. ;)
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

Well, nobody uses the Ankh in Keen 1 right? It should be simple enough to graft some raygun code in there setting shots given to '0' Which would make it suitable for popup walls, or even edited item or pogo code.
User avatar
Freeyorp101
Posts: 159
Joined: Thu Nov 24, 2005 2:12 am
Location: New Zealand

Post by Freeyorp101 »

^ and probably for keen2 as well ;)
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

Just to note, if someone is already using some other tile for "popup walls" (I assume you mean walls that disappear once you touch them), one can use that setting for as many tiles as one wants.. But I believe everyone knows this. I'll look into this hopefully today.
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

Hmm, I correct myself, the raygun code is some of the longest tile code, more likely I'll be able to use modified item or ship part code.

What will you be attempting KR? I'm just planning on overwriting a tile code with something shorter, basically a bit or ship part code that gives no ship part.
Stealthy71088
Posts: 583
Joined: Thu Mar 17, 2005 11:54 pm
Location: NY

Pop up walls

Post by Stealthy71088 »

Okay. I haven't gotten that far in Keen smile yet, (although I did beat my hard part recently. Right now I'm trying to focus on conquering Shadowkeen2.) So here's what I mean by pop up walls.

I'm using the keen 3 items patch, so that when you collect an item, the tile all the way on the left is spawned in its place. Lets also assume that I have that "pogo is removed at level start patch." What can i do with these two?

On the map, I have an item that looks just like a regular grass tile. When keen comes over it, and collects it, a gate is spawned in its path. With tileinfo, the gate is solid. To make sure keen can't keep going, a solid normal looking grass tile is put behind it. If items could somehow be gotten on that map, I could have so much fun with this.

I'm going to have to try out the "elevator" effect to see if it works with what I want. Perhaps if you could somehow patch the push effect itself, and make it negative, pulling keen into it, and then lowering the push speed, it would work. Add that with a push makes no push sound patch, (to make smoke seem more like smoke) and you might get a better result then what I think you have here.

As for the gargs, I'm going to have to experment with the patches myself to see if I like that.

Edit: Could I have a garg strength patch? It doesn't have to be compatible with the bot spawns garg patches to still work well with what I have planned.
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

1.) It is possible to make the teleporters produce a blocking tile when Keen teleports, this would make a gate also. Items on the map will be difficult as we'll need to call the item collection code while Keen is on the map, and I'm not sure if we have enough space for it.

An update of tiles, this is neat stuff; this is the parts code, which is simplest:

Code: Select all

#Joystick:
%patch $4446 $C7 $06 $94 $AA $01 $00 $83 $7E $F6 $0C $75 $06
#Battery:
%patch $4452 $C7 $06 $9C $AA $01 $00 $83 $7E $F6 $0D $75 $06
#Vacum:
%patch $445E $C7 $06 $96 $AA $01 $00 $83 $7E $F6 $0E $75 $06
#Whiskey:
%patch $446A $C7 $06 $98 $AA $01 $00 $B8 $10 $27 $50 $E8 $DB
The $01 $00 is the value added to the 'items got' part of Keen's memory, so its possible to make for example, the whiskey not give you a whiskey when got, or even [$FF $FF] to take a got whiskey away. Its also possible to make Keen need to get more than one item before he wins:

Code: Select all

#How many ship parts Keen has at start
%patch $9014 $01 $00 #joystick 
%patch $901A $01 $00 #battery 
%patch $9020 $01 $00 #vacum 
%patch $9026 $01 $00 #everclear 
If we make one of these values say $FF $FF [negative one item] Keen will need to get two items to win, etc; we can also make one item tile give an item and another one take it away.

Garg strength looks unlikely as it requires a special addtion of code, and the vorticon is the only sprite that has that. However if we make the Vort spawn a dead garg and the Garg spawn a dead vort then its the *garg* that has a strength [You can also have a Garg commander]:

Code: Select all

#Now the Garg has a strength!:
%patch $1871 $0E $1C #Garg acts like Vort
%patch $1803 $51 $1B #Vort becomes Garg
%patch $184E $04 $00 #Garg dies when chain shot [aso Garg commander]
%patch $17E0 $03 $00 #Vorticon acts more Gargish
%patch $1BF0 $52 $00 #Make dead garg a dead vort
%patch $1BEB $06 $00
%patch $1DA3 $44 $00 #Make dead vort dead garg
%patch $1D9E $02 $00

%patch $180D $02 $00 #Strength of normal Garg
%patch $1819  $68 $00 #And Garg commander [Garg under chain sprite]
Post Reply