Difference between revisions of "Quake c string"

From QuakeQEWiki
Jump to navigation Jump to search
Line 27: Line 27:
| }
| }
|}
|}
== Uses ==
In Quake-C strings are used for
* FileNames
** <code>precache_model ("progs/wizard.mdl");</code>
* text output
** <code>sprint (self, "not enough ammo.\n");</code>
* identifiers
** <code>if (self.classname == "monster_ogre")</code>
* lighting
** <code>lightstyle(1, "mmnmmommommnonmmonqnmmo");</code>
* commands
** <code>stuffcmd (other, "bf\n");</code>
* cvars
** <code>timelimit = cvar("timelimit") * 60;</code>
* find
** <code>le2 = find( le1, target, "lightning");</code>


== Trivia ==
== Trivia ==
Line 34: Line 52:


Strings can be [[Quake-c printing function|printed/output to screen]] with a number of different methods
Strings can be [[Quake-c printing function|printed/output to screen]] with a number of different methods
file paths are strings


The maximum length of a string is 2048 characters
The maximum length of a string is 2048 characters

Revision as of 07:43, 24 March 2022

Quake C strings are one of the primitive types of Quake C. They are zero-terminated sequences of characters (meaning a series of ascii letters). Vanilla quake c offers no straightforward ways to modify a string once it is created and no way to combine existing strings into a new string.

In quake-c code, double quotation marks delimit the start and end of a string.

local string myString = "The Rune of Black Magic throbs evilly in your hand";

Escape Charaters

Much like the C programming language, strings in QuakeC have escape characters:

character result
\n new line
\" "
\0 unknown
{{ {
}} }

Uses

In Quake-C strings are used for

  • FileNames
    • precache_model ("progs/wizard.mdl");
  • text output
    • sprint (self, "not enough ammo.\n");
  • identifiers
    • if (self.classname == "monster_ogre")
  • lighting
    • lightstyle(1, "mmnmmommommnonmmonqnmmo");
  • commands
    • stuffcmd (other, "bf\n");
  • cvars
    • timelimit = cvar("timelimit") * 60;
  • find
    • le2 = find( le1, target, "lightning");

Trivia

The 2021 release uses curly-braces as a delimiter/replacement shorthand

Searching through the existing entities in the world of quake can be done by strings

Strings can be printed/output to screen with a number of different methods

The maximum length of a string is 2048 characters

see also:

ftos creates a string from a floating point number

vtos creates a string representation of a vector

WriteString - sends a string to the quake engine