How to change Version numbers

Your plugin...dll has a version number in the format "1.0.0.0" and you should remember to increase this number everytime you share a new release of your plugin with level buiders.

Really, your plugin will have two version numbers:
  1. File Version Number
  2. Product Version Number

File Version Number

The file version number is that serie of four digits about current version of your plugin .dll.
You have no need to change this number everytime you build newly the project but only when you distribute the dll with other plugin files to level builders or with your game (if it is you the level builder and only one user of the plugin)

Product Version Number

Probably the word "product" could get confusion, anyway this is the version of tomb_nextgeneration.dll library you used for your last testing with your plugin.
Pratically, if you are developing your plugin while the tomb_nextgeneration.dll library was 1.3.0.0 version, you should insert this version as "Product Version Number"
In this way final users (level builders or players) will be able to kwow the trng library you used with your plugin and they will understand what it will be the best coupling about trng version and your plugin.
Note: Theoratically the tomb_nextgeneration.dll library should be able to support your plugin also when trng library will be most updated, i.e. with higher version than that you used to develope your library (backward compatibility). Anyway if you tested your plugin with a given trng version it's very problable that, own that trng version, it will be the safetiest for your plugin.

The Plugin_trng.rc file

When you are going to share your last plugin_yourname.dll, you should remember to change (or to verify) the version numbers saved in Plugin_trng.rc file.
To open this file is a bit more complicated than other files because in "express" release of Microsot Visual C++ compiler it's missing the editor of resources used commonly to change the ".rc" file.
However we could edit manually this text file...

1) Open the "Solution Explorer" window.
If it is not visible you can force the poping-up of this window with keyboard shortcut:

CTRL ALT L

Note: to remember this command you can thing that the "L" is for "List of all sources", since the Solution Explorer shows own the list of all available sources of your project.

2) Select the "Plugin_trng.rc" file and click with right mouse button to have a pop-up menu.
Note: if you don't see the "Plugin_trng.rc" file that is because the ".rc" file is inside of "Resource Files" group. Therefor just clicking on this item to see the ".rc" file we are searching.

3) From the pop-up menu, choose the item "View Code"
Now in main text editor you can see the contents of Plugin_trng.rc file.
You to change (or verify that the numbers are right) following rows:

#define VER_FILEVERSION 1,0,0,0
#define VER_FILEVERSION_STR "1.0.0.0\0"

#define VER_PRODUCTVERSION 1,3,0,0
#define VER_PRODUCTVERSION_STR "1.3.0.0\0"

How you can see, you should type in double copy each version number, anyway it will be the same version number but typed in two different formats:
In the row with VER_FILEVERSION you'll type a serie of numbers divided by commas and with no quotes.
For instances:

#define VER_FILEVERSION 1,0,0,1

While in the row with with VER_FILEVERSION_STR constant, you'll type same above version in text format (that _STR postfix is for String, of course):

#define VER_FILEVERSION_STR "1.0.0.1\0"

Note: please don't confuse the final pair characters in quoting "\0" as a number of version: that is not. The pair of characters "\0" is always to preserve and it will be compiled in a single 0 decimal value to complete the string of version.

Set also the Product trng version

Then you should make same (above job) also for the other two version numbers, where you'll type, as numbers and as string, the current tomb_nextgeneration.dll version you are using to develope your plugin.
For instance if the version was "1.3.0.1" you'll change these two row in following way:

#define VER_PRODUCTVERSION 1,3,0,1
#define VER_PRODUCTVERSION_STR "1.3.0.1\0"


Building and verifing new version infos

When you completed the changes on "Plugin_trng.rc" file, you should build the project, probably with "release" version (that you are going to share with others).
When the building has been completed, you should navigate in the "Release" folder of your plugin, click on "Plugin_trng.dll" (or other name you set for your plugin) and click above it with right mouse button, choosing "Properties" item.
In the properties window you should now chose the "Version" tab and verifing if the "File Version" and "Product Version" are those you set in "Plugin_trng.rc" file.

Adding other infos to your plugin library

For trng world and NG_Center program the only interesting infos about dll properties, are: "FileVersion" and "ProductVersion".
Anyway if you wish you can add other rows in "Plugin_trng.rc" file to have in properties of your .dll file, some extra infos to give to final users of your plugin.
Reading plugin_trng.rc file, you can see following rows:

BEGIN
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END

You can add other row beginning with "VALUE" tag to give other infos in properties of this .dll
The syntax is:

          VALUE "DescriptionOfInformation", "Value of this information\0"

For instance you can add row like these:

VALUE "Developer", "Paolone\0"
VALUE "Support", "www.trlevelmanager.eu\\ng.htm\0"
VALUE "Comments", "This is only a beta release\0"

Note: you'll use your name, website and comments, of course.

You can invent also others description of information (like "Email") just only that above new rows were added inside of couple of "BEGIN END" where there is also the "FileVersion" and "ProductVersion" rows.

BEGIN
          VALUE "FileVersion", VER_FILEVERSION_STR
          VALUE "ProductVersion", VER_PRODUCTVERSION_STR
          VALUE "Developer", "Paolone\0"
          VALUE "Support", "www.trlevelmanager.eu\\ng.htm\0"
          VALUE "Comments", "This is only a beta release\0"
          VALUE "Email", "paolone2011@alice.it\0"
END