"Scrolling" text in Keen 1 textboxes

Request patches for Keens 1-3.
Post Reply
Nospike
Posts: 160
Joined: Fri Apr 23, 2010 1:54 pm
Location: Some cool place, idk

"Scrolling" text in Keen 1 textboxes

Post by Nospike »

Would it be possible to make the text in Yorp messages appear slowly character by character like the Vorticon endings or the Mangling Machine cutscene in Keen 3? I think it's a really neat effect and works much better with long pieces of text than if we had it appear all at once.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Yes, however such messages cannot be simply patched in using the %level.hint command, which may put you off a little if you're only up to basic patching. This patch makes the level 2 hint scroll, do you want the rest?

Code: Select all

#Level 2 message scrolls
%patch $252F $5C1FW $E9 $0175W

#Message
%patch $15080 "You hear in your    " $0A
              "mind:               " $0A
              "                    " $0A
              "It is too bad that  " $0A
              "you cannot read the " $0A
              "Standard Galactic   " $0A
              "Alphabet, Human.    " $0A $00
Also it's using the maximum message length, with all those spaces in there, kinda throws the flow off a little.
Nospike
Posts: 160
Joined: Fri Apr 23, 2010 1:54 pm
Location: Some cool place, idk

Post by Nospike »

Woah, I wasn't actually expecting this to be possible. It looks great, no doubt. I like it.
There IS a %level.hint command? Maaaan, I really ought to up my modding game. Never heard of this.

Some questions, then:
1) Can the messages be made any longer if this is used?
2) Similarly, can they be made shorter (to get rid of the spaces)?
3) Can the scrolling be made slightly faster? (Doesn't matter if it's just in the yorp boxes or global)
4) This would mean that there won't be 1 message per level, correct?
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

1.) Message length is as long as the window can handle and you can make the window larger. The above quoted message uses the maximum length for an unpatched text location. Making it longer means robbing other messages of length.

2.) The extra spaces can be simply deleted. They are only there to show how many lines of how many characters you have available.

3.) This is the global text scrolling speed, I too like to make it faster. Smaller means faster scrolling:

Code: Select all

#Text writing speed
%patch $8173 $0006W

4.) This is the message pointer list, as you can see many slots don't have a message, but it is possible to have up to 13 messages, though again you'll need to move around some text (Or use the free text space past the end of the executable.) It's a slightly more complicated patch but you can well have 32 scrolling messages, 1 per level, even with message sounds.

Code: Select all

#Pointers to messages:
%patch $26E2 $252AW #Level 2
             $26ABW 
             $26ABW
             $26ABW 
             $2566W #Level 6
             $26ABW 
             $26ABW 
             $25A2W #Level 9
             $25DEW #Level 10
             $261AW #Level 11
             $263AW #Level 12
             $26ABW
             $26ABW
             $2675W #Level 15
Nospike
Posts: 160
Joined: Fri Apr 23, 2010 1:54 pm
Location: Some cool place, idk

Post by Nospike »

Number 4 intrigues me very much. If it'd be possible to have 32 messages, I could definitely use that, as I'll have 32 levels as well.

The rest is very neat though, I really dig where this is going. :)
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

This patch gives you 32 messages, 1 per level. Here they're all the same message because text space is tighter than I thought so fitting them all in will probably require knowledge of just how much message you want. The message can also be made to play a 'got message' sound, add to the score or add an item.

Code: Select all

#########################################
#THE BIG SCROLLING YORP MESSAGE PATCH	#
#########################################

#First message is level 1
%patch $2519 $90

#This is where our message list is:
%patch $2528 $252AW

#Length of pointer list:
%patch $251D $1F

#Message list
%patch $252A $266AW  $256FW  $2574W  $2579W  $257EW  $2583W  $2588W  $258DW #1-8
             $2592W  $2597W  $259CW  $25A1W  $25A6W  $25ABW  $25B0W  $25B5W #9-16
             $25BAW  $25BFW  $25C4W  $25C9W  $25CEW  $25D3W  $25D8W  $25DDW #17-24
             $25E2W  $25E7W  $25ECW  $25F1W  $25F6W  $25FBW  $2600W  $2605W #25-32

#Message codes
%patch $256A $B8 $2030W  $EB $1C $B8 $2030W  $EB $17 $B8 $2030W  $EB $12 #1-3
             $B8 $2030W  $EB $0D $B8 $2030W  $EB $08 $B8 $2030W  $EB $03 #4-6
             $B8 $2030W  $EB $7B $B8 $2030W  $EB $76 $B8 $2030W  $EB $71 #7-9
             $B8 $2030W  $EB $6C $B8 $2030W  $EB $67 $B8 $2030W  $EB $62 #10-12
             $B8 $2030W  $EB $5D $B8 $2030W  $EB $58 $B8 $2030W  $EB $53 #13-15
             $B8 $2030W  $EB $4E $B8 $2030W  $EB $49 $B8 $2030W  $EB $44 #15-18
             $B8 $2030W  $EB $3F $B8 $2030W  $EB $3A $B8 $2030W  $EB $35 #19-21
             $B8 $2030W  $EB $30 $B8 $2030W  $EB $2B $B8 $2030W  $EB $26 #22-23
             $B8 $2030W  $EB $21 $B8 $2030W  $EB $1C $B8 $2030W  $EB $17 #24-26
             $B8 $2030W  $EB $12 $B8 $2030W  $EB $0D $B8 $2030W  $EB $08 #27-29
             $B8 $2030W  $EB $03 $B8 $2030W  $50 $E8 $5B44W  $44 $44 $E9 #29-31
             $009AW
             

#Message
%patch $15080 "You hear in your    " $0A
              "mind:               " $0A
              "                    " $0A
              "It is too bad that  " $0A
              "you cannot read the " $0A
              "Standard Galactic   " $0A
              "Alphabet, Human.    " $0A $00

If you know some basic patching you can fit together your own messages.The $2030W is the pointer tot he first message, if that message is 20 characters ($14) long (Including spaces, $0As and $00s all being one character.) then the next message will start at $2030 + $14 = $2034W You have all of the old message space plus you can also use up stuff like ordering Info and About ID space and unused error messages. You'd still probably be looking at 50-60 characters per message.
Post Reply