Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
new:port_detection [2018/02/17 14:27] – korshun | new:port_detection [2018/02/17 14:32] – korshun |
---|
''int IdentifySourcePort()'' | ''int IdentifySourcePort()'' |
| |
Returns one of the following: | It returns one of the following: |
| |
* ''PORT_ZDOOM'' | * ''PORT_ZDOOM'' |
print(s:"This mod is running in ", s:GetPortName()); | print(s:"This mod is running in ", s:GetPortName()); |
</code> | </code> |
| |
| It returns one of the following: "ZDoom", "GZDoom", "Zandronum". |
| |
===== Renderer detection ===== | ===== Renderer detection ===== |
===== How port detection works ===== | ===== How port detection works ===== |
| |
First, ''GetPlayerAccountName(0)'' is called. In Zandronum it returns a string (possibly empty string). In other ports it returns 0, because it's an unknown function. | First, ''GetPlayerAccountName(0)'' is called. In Zandronum it returns a string (possibly [[empty string]]). In other ports it returns 0, because it's an unknown function. |
| |
Second, existence of ''DynamicLight'' actor is checked by spawning and instantly destroying it. This actor is not present in ZDoom. If it spawns successfully, the port is GZDoom. | Second, existence of ''DynamicLight'' actor is checked by spawning and instantly destroying it. This actor is not present in ZDoom. If it spawns successfully, the port is GZDoom. |