Notepad++ vmt syntax helper

Simple syntax highlighting and even auto-complete. This is mainly done to prevent situations where you check every fucking letter in such parameters, like "normalmapalphaenvmapmask" and "animatedtextureframenumvar".

Documentation

(You can easily customize colors in customizer zone)

I highly recommend to turn on the built-in autocomplete of "quotation marks" for proper syntax highlighting.

Light blue color = recognized $ parameter.

Pink = recognized % parameter or Proxy.

Green with black bg = recognized shader.

Light yellow = "word in quotation marks".

Dark gray italic = NOT recognized word and which is not in quotation marks.

_dx8, _dx6, _dx7, _dx81 stuff is not included on purpose. Those are super legacy fallbacks, nobody needs them and nobody wants to deal with them really. I'm still not sure about _dx9 fallbacks though. They're kinda useful, but nobody uses them...

Bug: Don't put 2 comments in one line! This will bug the highlights! Example: //$basetexture "pootis/disp_sheet" // texture for some shit

Tip: use shortcut "crl+q" to quickly comment/uncomment lines!

Tip: type mat_reloadmaterial "material name (without quotation marks)" in console to quickly reload material in-game.

Bug: Although I tried my best when making this dictionary - it may misbehave sometimes !

Install

Download next 2 files (Make sure you don't change names!):

Now there are 2 versions of the dictionary:

Green - a new one with every single vmt parameter (Recommended).

Blue - an old one. Doesn't has every single .vmt parameter, but was carefully handpicked. (Not maintained, broken and not recommended to use).

1 - vmt-test.xml - This is for highlighting.

2 - vmt-test.xml - And this is for autocomplete.

Show the old broken version

 

1 - vmt-test.xml - This is for highlighting.

2 - vmt-test.xml - And this is for autocomplete.

Place the first file wherever you want, then go to Notepad++, click "Define your language" --> "Import" and choose the FIRST xml file.

The second file is an auto-complete dictionary. Download it and place it in the "autoCompletion" subdirectory of the Notepad++ install folder. (Create if necessary)

.

For older versions of Notepad++ (Much older than 7.8.5) you should place your autocompletion file here: "...\Notepad++\plugins\APIs".

UPDATING

(Hover the download links for the last update date) Go to Notepad++, click "Define your Language", find the "vmt-test" in dropdown menu and click "Remove". Now download the first file and Import it as described above.

For the second file - just replace (overwrite) it.

For update to take effect, you have to reopen all of your vmt files (Don't forget to restart Notepad++).

Now you can customize it !

Settings

Change the color of specific group and see a real-time preview on the example from the right

Presets

Default (none)

Discord

YouTube

Debug Black

Black Board

Default (none)

Discord

Sublime Text

YouTube

Black Board

Adobe

Photoshop 2017

Photoshop test

Monokai

Base theme config

  Your theme background       #

Vmt config

  Basetexture color    

  Proxy names    

  Proxy parameters    

  $ parameters    

  % parameters    

  Numbers    

  Custom variables / default color    

  Bare text    

  Shader fg    

  Shader bg    

  Word proxy    

  Material types    

  Comments    

  Dollar sign / percent sign    

  [ ]    

  { }    

     

     

     

Yo uhhh, I have a good friend who's working on an awesome mod, check it out :D

I mean it's good for real. It's also one of the first hl2 mods to introduce PBR.

Astria Porta

May I also suggest you another cool mod? I guess I'll make a list of mods I personally recommend to play.

Half-Life: Guard Duty

1

2

{

3

4

5

6

7

8

9

10

  "$gnoise"  "1"

11

12

13

14

15

16

17

18

19

20

21

  "$ten"  "22"

22

23

 

24

25

 

26

 

27

28

29

 

30

 

31

 

32

33

 

34

35

36

37

 

38

 

39

 

40

41

42

  {

43

44

45

    {

46

47

      "scale"  ".1"

48

    } 

49

    "Subtract"

50

    {

51

      "srcVar1"  "$playerdistance2"

52

      "srcVar2"  "$ten"

53

54

    }

55

    "Clamp"

56

    {

57

58

      "min"    "0"

59

      "max"    "30"

60

      "resultVar"  "$frame2"

61

    }

62

    "Clamp"

63

    {

64

65

      "min"    "0"

66

      "max"    "30"

67

      "resultVar"    "$frame"

68

    }

69

70

71

    {

72

73

      "scale"  "0.001"

74

    } 

75

76

    {

77

      "minVal"  ".8"

78

      "maxVal"  "1"

79

      "mean"    ".7"

80

      "halfwidth"  ".3"

81

      "resultVar"  "$gnoise"

82

    }

83

    "Subtract"

84

    {

85

      "srcVar1"  "$gnoise"

86

87

88

    }

89

    "Multiply"

90

    {

91

      "srcVar1"  "$hundred"

92

93

      "resultVar"    "$largeamount"

94

    }

95

    "Equals"

96

    {

97

98

99

    } 

100

    "Add"

101

    {

102

103

104

105

    } 

106

    "Sine"

107

    {

108

      "sineperiod"  "1.08"

109

110

111

      "resultVar"    "$alpha"

112

    }

113

114

115

116

    {

117

118

119

120

    }

121

  }

122

}