forked from bartvdbraak/blender
BGE Expressions: convert "\n" to real \n
example of usage: 0) Game Properties: text (String) and log (Boolean=True) 1) Keyboard Sensor set to AllKeys with log as logging and text as Target 2) Expression Controller: text=="quit\n" 3) Game Actuator: Quit Game [1] <-> [2] <-> [3] .:. this will quit the game when you write quit + Enter 4) Keyboard Sensor: set to Return 5) And Controller 6) Property Actuator: Assign text property to "" [4] <-> [5] <-> [6] .:. this will reset the string everytime you press Enter # # # # # # # # # # # # # # # # # # # # # # # Since the change is in the InputParser.cpp it actually affects all the text input fields in the Logic Editor. So for instance you can use it in the assign Property Actuator. # # # # # # # # # # # # # # # # # # # # # # # Connect an expression controller: text="idclip\n" with an actuator to disable the Collision of your walls and you can re-create Doom with only Logic Bricks (:
This commit is contained in:
parent
708df39935
commit
11e3b6b0b5
@ -151,6 +151,28 @@ void CParser::GrabString(int start)
|
||||
|
||||
|
||||
|
||||
void CParser::GrabRealString(int start)
|
||||
{
|
||||
// works like GrabString but converting \\n to \n
|
||||
// puts part of the input string into the global variable
|
||||
// const_as_string, from position start, to position chchount
|
||||
|
||||
int i;
|
||||
char tmpch;
|
||||
|
||||
const_as_string = STR_String();
|
||||
for (i=start;i<chcount;i++) {
|
||||
tmpch= text[i];
|
||||
if ((tmpch =='\\') && (text[i+1] == 'n')){
|
||||
tmpch = '\n';
|
||||
i++;
|
||||
}
|
||||
const_as_string += tmpch;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void CParser::NextSym()
|
||||
{
|
||||
// sets the global variable sym to the next symbol, and
|
||||
@ -244,7 +266,7 @@ void CParser::NextSym()
|
||||
start = chcount;
|
||||
while ((ch != '\"') && (ch != 0x0))
|
||||
NextCh();
|
||||
GrabString(start);
|
||||
GrabRealString(start);
|
||||
TermChar('\"'); // check for eol before '\"'
|
||||
break;
|
||||
}
|
||||
|
@ -93,6 +93,7 @@ private:
|
||||
void DigRep();
|
||||
void CharRep();
|
||||
void GrabString(int start);
|
||||
void GrabRealString(int start);
|
||||
void NextSym();
|
||||
#if 0 /* not used yet */
|
||||
int MakeInt();
|
||||
|
Loading…
Reference in New Issue
Block a user