Changing newline rules?

I have two questions:

  1. Is it possible to make the players input always uppercase?
  2. Is it possible to remove the auto linebreaks in text presented to the player, and add double linebreaks before the players command?

I’m after something like this:

[code]> LOOK
The Metal Room
You are in a small metal room. There is a potato.

It is so pretty.


The reason I want this is that the current linebreaks don’t give enough attention to the players commands. What I have right now is something like this, where the command “look at potato” kind of look like it is part of the previous text:

[code]> look
The Metal Room
You are in a small metal room.

There is a potato.

look at potato
It is so pretty.

take potato

(Excuse me if this has been answered before. I think I saw a post about it once, but I can’t locate it now …)

The default Inform behavior is already to have a blank line before each command. E.g.:

The Metal Room is a room. "You are in a small metal room."
A potato is here. The description is "Pretty."

(If you’re not getting that blank space, you must have done something else in your code.)

Forcing the player’s command to upper case is possible, in a couple of different ways, but they all have drawbacks. In the web interpreter you could set a CSS “font-variant” property (but this would only work on your own web site). In Glulx you could take over control of echoing the command output, and change it to upper-case, but this might be startling to the player.

The other bit of your question is getting miscellaneous objects in the same paragraph with the room description:

“You are in a small metal room. There is a potato.”

This is possible, again, in a couple of ways. You might look at the Room Description Control extension.

Thanks for your help, Zarf!

You’re right, for some reason those extra pieces of text makes the blank spaces disappear:

[code]An every turn rule:
Say “something.”

After looking:
Say “something else.”[/code]

Yeah, I have tried that, but I could only change the text that the player is writing at the moment. (But it’s not that important.)

Thanks - I didn’t really understood the documentation, though … must give it another look!

They shouldn’t – at least not if the text they print ends in a full stop, a question mark, or an exclamation mark (these have to be inside the double quotes).

Say “something.”; is inside an if statement - so while there is a . before the " the line ends with a ;

That’s fine – the text inside the quotes ends with a period, that’s the important part.

Adding those two rules to the test case does not mess up the line breaks:

You’re right … it was because I used text variable, so no period:

After looking: Say "[FloorDescript]".

My solution: [line break]

Yeah, that’s an annoying case. (When the period comes from inside the text variable.) Line break there works.