|This article is a stub. Please help the Doom Wiki by expanding it.|
VavoomC is a scripting language used by the Vavoom source port to implement all of the changes in game logic and the new user interface. Its syntax is very similar to UnrealScript; being a c-syntax language its also fairly similar to Java, C#, and C++, to the point of being transparent to those who know at least one of those languages.
I some version of Vavoom all game logic was implemented in VavoomC, making direct modding of the core game a simple mater. This also made learning the language easy since new modders could see good examples of its use. Later versions, notably after 1.30, abandoned this in favor of native function and Decorate scripts, but still allowed user created content in VavoomC.
Another change that occurred was in the compiling of the scripts. in most version of Vavoom, the VavoomC files had to be compiled to runnable "progs" consisting of a byte code in advance. The byte code code progs would then be loaded and run by the engine. In some of the most recent versions of the engine, however, the raw text files, could be loaded directly and would automatically be compiled by the engine during start up.
The major advantage of VavoomC over many other modding languages was that entirely new logic could be written from scratch. Notably, a modder could write completely new action function rather than being limited to those already in available in the source ports code. Thus complex new AI or abilities could be added to monsters or object in a way that is not possible with DeHackEd or DECORATE.
There were a couple major disadvantages, though. Being a full on programming languages it may be more difficult than pure-data files for non-programmers wanting create simple mods. A more serious problem is its lack of support outside Vavoom. With Vavoom being apparently dead, having last updated in 2010, and increasingly out dated, VavoomC mods many not reach a very wide audience.