Yorp message in every level

Completed patches for Keen1.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Yorp message in every level

Post by levellass »

It is possible to make a Yorp message appear in every level. I have been working on this, but it appears I no longer need to. (I do wish people would tell me these things *before* I start working on them!) As it stands the patch I have allows a hint in every level but 1, even for the 32 level patch. I was planning on using an addendum to HELPTXT (After the $1A that would stop the program reading help, so you wouldn't see it.) but I am sure Lemm has better plans.

I have written a small BASIC program that allows you to create this pathc and make hints for all the levels, using the standard Yorp hint space. It can be got here: http://levellord.rewound.net/STARTEXT.zip


It also let's you patch the Story, etc for Keen 1-3. I was going to add Keen 2 and 3 support for hints and such, but I suspect that I can now abandon this program before Lemm finishes those patches too.
lemm
Posts: 554
Joined: Sun Jul 05, 2009 12:32 pm

Post by lemm »

Hats off to you. This is way more clever than what I did.

Mine opens up a helptext dialog and reads from a file called messages.ck1 (like storytxt.ck1, helptext.ck1), but the way you did it is so much more seamless.

Image




Actually I wanted to use the original hint boxes, but I couldn't figure out how to get multiple lines without some overly complicated scheme to load a different string for each line. Now I feel like a dolt for not using $0A to break lines :p


I can make a suggestion for the hint text however, you can put additional strings at $1E050 (data segment:B000) if the user runs out of room in the original yorp text area. I am 99% sure that will not affect anything (as long as the text is kept under 15 KB or so)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Oh? Well that should be easy enough, indeed I could do it automatically if the user run out of space, I was only pausing the development of this program because I'd assumed you'd made something better.

It would also mean I won't need to use Helptext.ck1, since I'm having trouble getting Keen to read from a specific location in that file.


I'm also working on the Keen 2 hint boxes and the Keen 3 rocket messages; have you any plans for these or am I free to develop something?
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Rocket messages?
lemm
Posts: 554
Joined: Sun Jul 05, 2009 12:32 pm

Post by lemm »

I have no plans for those. My patch was just for the community mod.


What is the problem with helptext.ck1?
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Spleen wrote:Rocket messages?
You mean you never noticed those random messages when trying to enter the bwb in Keen 3? So I made all my humorous messages for Silcar 3 and people don't even notice...
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

I know! Terrible isn't it!

That's why I was considering putting them in-level.


The problem with helptxt was I would say 'Read from loc $480 in the file' and for some reason it wouldn't work, or would get me the wrong piece of text. It was very aggravating.

I must say though, my executable file only goes up to $18683, are you sure I can store text at $1E050? How would I do that, exactly?
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Ohh. BWB rocket messages. There's more than one? (Hmm, should that be 'there's' or 'there're'?)
lemm
Posts: 554
Joined: Sun Jul 05, 2009 12:32 pm

Post by lemm »

It should work. There are variables for which memory is reserved, but they are not given a value in the source code, so they aren't stored in the .exe However, once the .exe is loaded into memory, the required memory for these unitialized variables is allocated. That memory ends after $1DB00 or something... anyways I just suggested starting at $1E050 to give a little buffer.


You can try this for level 7 (northmost shrine on the left side of mars)

Code: Select all

#Level 7's Yorp message:
%patch $2548 $B8 $B000W $E9 $0157W
%patch $1E050 "Yorpity Yorp" $00
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Lemm, I've said it once, I'll say it again; you sir, are a genius. This solves the annoying space problem I had with several texts, I shall put a 15KB limit on the text space, which should be plenty.

This means I can release the new version of Startext this week.
lemm
Posts: 554
Joined: Sun Jul 05, 2009 12:32 pm

Post by lemm »

Levellass, what other text are you going to support?
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Really, anything anyone suggests. I definitely want to be able to fully edit the ending sequence boxes (Including how many of them there are, and the possibility of having multiple ending screens, one after the other.)

Currently I have added Oracle messages, BWB messages, A.I. text and Vorticon Elder messages. I am as always open to suggestions for more.
Stealthy71088
Posts: 583
Joined: Thu Mar 17, 2005 11:54 pm
Location: NY

Post by Stealthy71088 »

Hi. I'm a little confused. So if I made a bunch of yorp messages for CK1 using this application, do I copy and paste the patch generated directly into my patch file (ignoring the extract and end lines of course), or do I make a new text file and put part of the patch there and the remaining part that points to the text file in my patchfile? I tried just copying in pasting the entire generated patch into my patchfile, and I got an error when I tried to run Keen.

Code: Select all

#Point to new code:
#%patch $2528 $25E4W



#Level pointers:
%patch $25E4 $252AW $2530W $2536W $253CW $2542W $2548W $254EW $2554W $255AW $2560W 
             $2566W $256CW $2572W $2578W $257EW $2584W $258AW $2590W $2596W $259CW 
             $25A2W $25A8W $25AEW $25B4W $25BAW $25C0W $25C6W $25CCW $25D2W $25D8W 
          $25DEW 


#Level 2's Yorp message:
%patch $252A $B8 $2030W $E9 $0175W
%patch $15080 "The Yorp Elder says:" $0A
The error says that the problem is in the first line under Level pointers.
Mink
Posts: 192
Joined: Sat Nov 03, 2007 4:08 pm
Location: Providence, RI, US

Post by Mink »

Stealthy71088 wrote:(ignoring the extract and end lines of course)
All this time, I've kind of assumed %ext meant extension (at this point, I can't remember if I read this somewhere or if I just made that up). If it really does mean extract, my mind = blown.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Hey there!

As a matter of fact I've been trying to get feedback for how this should work over in Keen:Coding, so that you can use this application with an existing patchfile no problem. If you pop over there, you can give me some feedback, especially on how to improve this. I really would appreciate it.

The proper way to do it is to just copy the whole lot into your patch file (Minus start and finish.) As I've said, this is a bit cumbersome and I value the input of ANYONE who can guide me to improvements.

What error do you get? If it is 'Invalid numeric format' then it's most likely you do not have the most up-to-date version of CKPATCH, which can handle xxxxW patches. I can send this to you if you want.
Post Reply