Compare commits

...

49 Commits

Author SHA1 Message Date
4ad7f7d1d0
Update README.md 2018-02-13 17:43:53 +03:00
e28f8fe789
Update README.md 2018-01-30 01:24:39 +03:00
2b791da08c
Update game_support.cpp 2018-01-30 00:12:00 +03:00
30268f7b8f
updated original sources from commit e32e4f6
* updated original sources from commit e32e4f6d6e

* added list of games
2018-01-23 15:20:36 +03:00
677cd97cac
fixed ReHLDS's name 2018-01-23 15:18:25 +03:00
a1d9e3f9ab Gunman Chronicles 2017-08-05 03:57:12 +03:00
6e7ddc928b Update README.md 2017-08-05 03:55:46 +03:00
b9cf9ca9e6 Update README.md 2017-08-05 03:51:01 +03:00
52f0a0a1fd Goldeneye 2017-08-05 03:49:54 +03:00
7d2ad6275a pack of games
Frontline Force, Gangsta Wars, Opposing Force, Global Warfare
2017-08-05 03:47:02 +03:00
e5c38d08e3 Update README.md 2017-08-05 03:46:35 +03:00
73171aea68 Update README.md 2017-08-05 03:40:50 +03:00
d73ba0abd7 Update README.md 2017-08-05 03:36:59 +03:00
98595b3898 Firearms 2017-08-05 03:36:37 +03:00
4a5978f744 Existence 2017-08-05 03:30:59 +03:00
e5acbf8c4e Update README.md 2017-08-05 03:30:53 +03:00
a647eb3251 Update README.md 2017-08-05 03:19:42 +03:00
37169582d3 Digital Paintball 2017-08-05 03:18:03 +03:00
d45f7e2bb1 Desert Crisis 2017-08-05 03:11:41 +03:00
f504908023 Update README.md 2017-08-05 03:07:43 +03:00
5ce10ac12e Update README.md 2017-08-05 03:07:10 +03:00
347aa1e2a9 Counter-Strike 2017-08-05 03:02:32 +03:00
6c30b28599 Chicken Fortress 3 2017-08-05 02:57:31 +03:00
3c1127a6e6 BuzzyBots 2017-08-05 02:53:37 +03:00
b30d5a1f72 Bumper Cars 2017-08-05 02:52:40 +03:00
a8d3fa0067 Brutal Half-Life 2017-08-05 02:49:56 +03:00
36164db5e9 Brain Bread 2017-08-05 02:48:18 +03:00
0c297617c0 Base Defense 2017-08-05 02:45:42 +03:00
e80c67db5d Adrenaline Gamer + openAG 2017-08-05 02:43:30 +03:00
6ac649032e deleted outdated mods
deleted outdated mods. WON-versions or versions wich disappeared from internet
2017-08-05 02:38:09 +03:00
b663cf0209 Azure Sheep 2017-08-05 02:36:02 +03:00
6a803a80b0 Action Half-Life 2017-08-05 02:29:16 +03:00
fb8940454c Update README.md 2017-08-05 02:11:33 +03:00
9ce464f59b todo updated 2017-08-05 02:10:47 +03:00
7e1e536b7f Update README.md 2017-08-05 02:09:31 +03:00
3d144a0b3c Update README.md 2017-08-05 01:52:19 +03:00
4cfcd0832f Merge pull request #2 from krangm/patch-1
Update README.md
2017-08-05 01:46:01 +03:00
krangm
3c6e6c94e6 Update README.md
added 2 links pointing to github repos.

and probably add some mods to test?
over 1200 mods listed here
http://hl.loess.ru/?mods
2017-07-26 09:13:53 +03:00
0191a0af70 Update README.md 2017-07-22 00:23:44 +03:00
0a9a6447b4 Update README.md 2017-07-22 00:21:30 +03:00
79a5d25832 Update README.md 2017-07-22 00:20:04 +03:00
b46029a483 Update README.md 2017-07-21 23:12:54 +03:00
e1d10e4971 Update README.md 2017-07-21 22:57:14 +03:00
7d3cc5cc6a Update README.md 2017-07-21 22:42:15 +03:00
9b38d20a54 Update README.md 2017-07-21 22:31:14 +03:00
7b8a4113da Update README.md 2017-07-21 22:29:39 +03:00
1ae29cfbc1 Update README.md 2017-07-21 22:16:22 +03:00
082ca48183 Update README.md 2017-07-21 22:08:20 +03:00
1f2b377731 Update README.md 2017-07-21 22:07:20 +03:00
2 changed files with 259 additions and 169 deletions

146
README.md
View File

@ -8,135 +8,55 @@ We are ([STAM](https://github.com/stamepicmorg) and [AurZum](https://github.com/
and we are merged it to one big cleanuped and actualized list. Why not? and we are merged it to one big cleanuped and actualized list. Why not?
Now we are checking mods to compablity with [reHLDS](https://github.com/dreamstalker/rehlds) and [Metamod-r](https://github.com/theAsmodai/metamod-r): Now we are checking mods to compablity with [ReHLDS](https://github.com/dreamstalker/ReHLDS) and [Metamod-r](https://github.com/theAsmodai/metamod-r):
* we are cleaned list of available games. deleted old won-games. 'cause rehlds works only on steam-version -> metamod-r too, against original metamod.
* we are compilled last version metamod-r with our game-list.
* we are checked all mods with compablity.
* we are cleaned list of available games. deleted old won-games. 'cause ReHLDS works only on steam-version -> metamod-r too, against original metamod.
* we are compilled last version [![Download](https://camo.githubusercontent.com/2b15ec2fc402e02b66fde9eab7e896406caeddac/687474703a2f2f7265686c64732e6f72672f76657273696f6e2f6d6574616d6f642d2d722e737667)](http://teamcity.rehlds.org/guestAuth/downloadArtifacts.html?buildTypeId=Metamod_Publish&buildId=lastSuccessful) metamod-r with our game-list.
* we are checked all mods with compablity.
Some rare mods are uploaded at: https://github.com/EpicMorgGames/LegacyMods Some rare mods are uploaded at: https://github.com/EpicMorgGames/LegacyMods
If all be ok we will pull this list to awesome metamod-r.
# To do # To do
1. test all games\mods on windows 1. test again all games\mods on windows
2. test all games\mods on linux (if available) 2. test again all games\mods on linux (if available)
3. keep some windows-servers. for fun. why not? 3. keep some windows-servers. for fun. why not?
4. Check out actual servers list [here](https://github.com/EpicMorgGames/OurGameServerList). 4. Check out actual servers list [here](https://github.com/EpicMorgGames/OurGameServerList).
# already preTested games # Official suppoted games:
See wiki pages: [ru](https://github.com/EpicMorgGames/metamod-r-game-tests/wiki/Поддерживаемые-игры) or [en](https://github.com/EpicMorgGames/metamod-r-game-tests/wiki/Supported-games)
:x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing # To be tested (other 3rd party mods)
| Game | Engine | Metamod | Windows | Linux | SteamPipe | Comment :x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing :anger: - not shure
| ------------- |---------------| ------| ------| ------| ------|------|
| [Counter-Strike 1.6](http://store.steampowered.com/app/10/CounterStrike/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Recommended to use [reGameDll_CS](https://github.com/s1lentq/ReGameDLL_CS)
| [Half-Life](http://store.steampowered.com/app/70/HalfLife/) + [Bugfixed and improved](http://aghl.ru/forum/viewtopic.php?f=32&t=686) [HL release](http://aghl.ru/files/patches/BugfixedHL/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :heavy_check_mark: | :interrobang: | :heavy_check_mark: | Added support after 1.3.76 version
| [Adrenaline Gamer](http://www.moddb.com/mods/adrenaline-gamer/downloads/) + [openAG](https://github.com/YaLTeR/OpenAG)| [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Half-Life: Blue Shift](http://store.steampowered.com/app/130/HalfLife_Blue_Shift/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Counter-Strike:Condition Zero](http://store.steampowered.com/app/80/CounterStrike_Condition_Zero/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Counter-Strike:Condition Zero Deleted Scenes](http://store.steampowered.com/app/80/CounterStrike_Condition_Zero/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Deathmatch Classic](http://store.steampowered.com/app/40/Deathmatch_Classic/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Day of Defeat](http://store.steampowered.com/app/30/Day_of_Defeat/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Earth's Special Forces](http://www.moddb.com/mods/earths-special-forces/downloads) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | Linux-server's binaries placed in not-dll folder
| [Opposing Force](http://store.steampowered.com/app/50/HalfLife_Opposing_Force/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Natural Selection](https://unknownworlds.com/ns/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Natural Selection Beta](https://unknownworlds.com/ns/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Ricochet](http://store.steampowered.com/app/60/Ricochet/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Team Fortress Classic](http://store.steampowered.com/app/20/Team_Fortress_Classic/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [The Specialists](http://www.moddb.com/mods/the-specialists/downloads) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
----------------------------------- | Game | Engine | Metamod | Windows | Linux | SteamPipe| Comment
| ------------- |---------------| ------| ------| ------| ------| ------|
| - | - | - | - | - | - | - |
# To be tested You can add issue or PR with asking us to test some other mods.
# Outdated mods. WON-versions or versions wich disappeared from internet
:x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing :x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing
| Game | Engine | Metamod | Windows | Linux | SteamPipe| Comment | Game | Engine | Metamod | Windows | Linux | SteamPipe| Comment
| ------------- |---------------| ------| ------| ------| ------| ------| | ------------- |---------------| ------| ------| ------| ------| ------|
| [Action Half-Life](http://www.moddb.com/mods/action-half-life/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | ~[Adrenalinegamer 3.x](http://planethalflife.gamespy.com/View75d9.html?view=HLFiles.Detail&id=1929)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version
| [Adrenalinegamer 3.x](http://planethalflife.gamespy.com/View75d9.html?view=HLFiles.Detail&id=1929) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version | ~Adrenalinegamer 4.x~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| Adrenalinegamer 4.x | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol | ~[Arg!](https://www.fileplanet.com/50432/download/Arg!-The-Pirates-Strike-Back)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| [Arg!](https://www.fileplanet.com/50432/download/Arg!-The-Pirates-Strike-Back) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: | ~Bot~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| [Azure Sheep](http://www.moddb.com/mods/azure-sheep/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | ~[Counter-Strike 1.3](http://www.moddb.com/downloads/counter-strike-13)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| [Base Defense](http://www.moddb.com/mods/b-def/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | Server's binaries placed in not-dll folder | ~[Counter-Strike 1.4](http://www.moddb.com/mods/counter-strike/downloads/counter-strike-14)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| Bot * | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol | ~[Counter-Strike 1.5](http://www.moddb.com/mods/counter-strike/downloads/counter-strike-15)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| [Brain Bread](http://www.moddb.com/mods/brainbread/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | ~[Dragon Mod Z](http://www.moddb.com/mods/dragonmod-z/downloads/)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | 1.7 - Old outdated won-version. Classic - custom steam build with other mod-folder. In comments - project is continued by ESF-mod.
| [Brutal Half-Life](http://www.moddb.com/mods/brutal-half-life/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :heavy_check_mark: | Have no linux binary. Check it. | ~Freeze~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. Cant find in the internet. lol
| [Bumper Cars](http://www.moddb.com/mods/bumper-cars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | ~OeL Half-Life~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| [BuzzyBots](http://www.moddb.com/mods/buzzybots/downloads) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | ~Phineas Bot~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| [Chicken Fortress 3](http://www.moddb.com/mods/chicken-fortress-3/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :heavy_check_mark: | Have no linux binary. Check it. | ~Retro Counter-Strike~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| Counter-Strike 1.3 (WON) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. | ~Retro Firearms~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| Counter-Strike 1.4 (WON) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. | ~Special Death Match~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| Counter-Strike 1.5 (WON) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version. | ~[The Terrorist Revenge](http://www.moddb.com/mods/terrorist-revenge/downloads/)~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| Counter-Strike 1.5 (Steam) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: | ~Wasteland~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| Desert Crisis | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: | ~Weapon Wars~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| Digital Paintball | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Dragon Mod Z | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Existence | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Firearms | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Freeze | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Frontline Force | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Gangsta Wars (Steam)](http://www.moddb.com/mods/gangsta-wars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Gangwars | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Global Warfare | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Goldeneye | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Gunman Chronicles | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Half-Life 1.5: Weapon Edition](http://www.moddb.com/mods/half-life-weapon-edition/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Half-Life: Decay](http://www.moddb.com/mods/half-life-decay/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :heavy_check_mark: | :x: | :heavy_check_mark: | Have no linux binary. 100%.
| Headcrab Frenzy | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| HL-Rally | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Holy Wars | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Hostile Intent | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| International Online Soccer | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Judgement | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Kanonball | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Master Sword Continued | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :interrobang: | Have no linux binary. Check it.
| Monkeystrike | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Morbid Inclination | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Move In! | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| OeL Half-Life | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Open-Source Jailbreak | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :interrobang: | Have no linux binary. Check it.
| Operations 1942 | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Out Break | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :x: | :interrobang: | Have no linux binary. Check it.
| Outlawsmod | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Over Ground | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Oz Deathmatch | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Paintball | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Phineas Bot | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Pirates, Vikings and Knights | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Point of No Return | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Project Timeless | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Public Enemy | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Resident Evil : Cold Blood | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Retro Counter-Strike | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Retro Firearms | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Rival Species | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Rocket Crowbar](http://hldm.org/files/mods/287-rocket-crowbar.html) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Rocket Crowbar 2](http://www.moddb.com/mods/rocket-crowbar-2/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Science & Industry | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Scientist Hunt | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Snow-War | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Special Death Match | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [StargateTC](http://www.moddb.com/mods/stargatetc/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Sven Coop | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark: |
| Swarm | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| The Battle Grounds | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| The Ship | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang: |
| The Terrorist Revenge | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| The Trenches | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| The Wastes | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Tour of Duty | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Train Hunters | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Underworld Bloodline | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| VampireSlayer | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Wanted! | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Wasteland | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| Weapon Wars | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| [Wizard Wars Beta](http://www.moddb.com/mods/wizard-wars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Wizard Wars](http://www.moddb.com/mods/wizard-wars/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [WormsHL](http://www.moddb.com/mods/wormshl/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| [Zombie Panic](http://www.moddb.com/mods/zombie-panic/downloads/) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:

View File

@ -1,3 +1,5 @@
#include "precompiled.h"
// Adapted from adminmod h_export.cpp: // Adapted from adminmod h_export.cpp:
//! this structure contains a list of supported mods and their dlls names //! this structure contains a list of supported mods and their dlls names
//! To add support for another mod add an entry here, and add all the //! To add support for another mod add an entry here, and add all the
@ -8,44 +10,37 @@ const game_modinfo_t g_known_games[] = {
// Previously enumerated in this sourcefile, the list is now kept in a // Previously enumerated in this sourcefile, the list is now kept in a
// separate file, generated based on game information stored in a // separate file, generated based on game information stored in a
// convenient db. // convenient db.
{ "action", "ahl.so", "ahl.dll", "Action Half-Life" }, { "action", "ahl.so", "ahl.dll", "Action Half-Life" }, // _i386.so, + director's cut [2016], updated linux binary name
{ "ag", "ag.so", "ag.dll", "Adrenaline Gamer" }, { "ag", "ag.so", "ag.dll", "Adrenaline Gamer" }, // .so file by OpenAG fork
{ "ag3", "hl.so", "hl.dll", "Adrenalinegamer 3.x" }, { "asheep", nullptr, "hl.dll", "Azure Sheep" }, // have no linux binary found!
{ "aghl", "ag.so", "ag.dll", "Adrenalinegamer 4.x" }, { "bdef", "server.so", "server.dll", "Base Defense" }, // placed in normal dll folder [2017]
{ "arg", "arg.so", "hl.dll", "Arg!" },
{ "asheep", "hl.so", "hl.dll", "Azure Sheep" },
{ "bdef", "../cl_dlls/server.so", "../cl_dlls/server.dll", "Base Defense" }, //workaround
{ "bg", "bg.so", "bg.dll", "The Battle Grounds" }, { "bg", "bg.so", "bg.dll", "The Battle Grounds" },
{ "bhl", nullptr, "bhl.dll", "Brutal Half-Life" }, //have no linux binary! { "bhl", nullptr, "bhl.dll", "Brutal Half-Life" }, // have no linux binary found!
{ "bot", "bot.so", "bot.dll", "Bot" }, { "brainbread", nullptr, "bb.dll", "Brain Bread" }, // have no linux binary found!
{ "brainbread", "bb.so", "bb.dll", "Brain Bread" },
{ "bshift", "bshift.so", "hl.dll", "Half-Life: Blue Shift" }, { "bshift", "bshift.so", "hl.dll", "Half-Life: Blue Shift" },
{ "bumpercars", "hl.so", "hl.dll", "Bumper Cars" }, { "bumpercars", nullptr, "hl.dll", "Bumper Cars" }, // have no linux binary found!
{ "buzzybots", "bb.so", "bb.dll", "BuzzyBots" }, { "buzzybots", nullptr, "bb.dll", "BuzzyBots" }, // have no linux binary found!
{ "ckf3", nullptr, "mp.dll", "Chicken Fortress 3" }, //have no linux binary! { "ckf3", nullptr, "mp.dll", "Chicken Fortress 3" }, // have no linux binary found!, checked all versions (latest - Alpha 4)
{ "cs13", "cs.so", "mp.dll", "Counter-Strike 1.3" }, { "cs10", nullptr, "mp.dll", "Counter-Strike 1.0" }, // have no linux binary found!
{ "cstrike", "cs.so", "mp.dll", "Counter-Strike" }, { "csv15", nullptr, "mp.dll", "Counter-Strike 1.5" }, // have no linux binary found!
{ "csv15", "cs.so", "mp.dll", "Counter-Strike 1.5 (Steam)" }, { "cstrike", "cs.so", "mp.dll", "Counter-Strike 1.6" },
{ "czero", "cs.so", "mp.dll", "Counter-Strike:Condition Zero" }, { "czero", "cs.so", "mp.dll", "Counter-Strike:Condition Zero" },
{ "czeror", "cz.so", "cz.dll", "Counter-Strike:Condition Zero Deleted Scenes" }, { "czeror", "cz.so", "cz.dll", "Counter-Strike:Condition Zero Deleted Scenes" },
{ "dcrisis", "dc.so", "dc.dll", "Desert Crisis" }, { "dcrisis", "dc.so", "dc.dll", "Desert Crisis" }, // _i386.so, updated linux binary name [2010]
{ "decay", nullptr, "decay.dll", "Half-Life: Decay" }, { "decay", nullptr, "decay.dll", "Half-Life: Decay" }, // have no linux binary!
{ "dmc", "dmc.so", "dmc.dll", "Deathmatch Classic" }, { "dmc", "dmc.so", "dmc.dll", "Deathmatch Classic" },
{ "dod", "dod.so", "dod.dll", "Day of Defeat" }, { "dod", "dod.so", "dod.dll", "Day of Defeat" },
{ "dpb", "pb.i386.so", "pb.dll", "Digital Paintball" }, { "dpb", "pb.i386.so", "pb.dll", "Digital Paintball" }, // ...
{ "dragonmodz", "hl.so", "mp.dll", "Dragon Mod Z" }, { "esf", "../linuxdll/hl.so", "hl.dll", "Earth's Special Forces (old)" }, // _i386.so, workaround for basic-linux version
{ "esf", "../linuxdll/hl_i386.so", "hl.dll", "Earth's Special Forces (Steam)" }, //workaround { "esf", "hl.so", "hl.dll", "Earth's Special Forces" }, // _i386.so, full linux version
{ "esf", "hl.so", "hl.dll", "Earth's Special Forces (Old)" }, { "existence", nullptr, "existence.dll", "Existence" }, // have no linux binary found!
{ "existence", "ex.so", "existence.dll", "Existence" }, { "firearms", nullptr, "firearms.dll", "Firearms" }, // have no linux binary found!
{ "firearms", "fa.so", "firearms.dll", "Firearms" }, { "frontline", "front.so", "frontline.dll", "Frontline Force" }, // _i386.so, updated linux binary name [2012]
{ "firearms25", "fa.so", "firearms.dll", "Retro Firearms" }, { "gangstawars", nullptr, "gwars27.dll", "Gangsta Wars" }, // have no linux binary found!
{ "freeze", "mp.so", "mp.dll", "Freeze" }, { "gangwars", nullptr, "mp.dll", "Gangwars" }, // have no linux binary found!
{ "frontline", "front.so", "frontline.dll", "Frontline Force" },
{ "gangstawars", "gangsta.so", "gwars27.dll", "Gangsta Wars (Steam)" },
{ "gangwars", "mp.so", "mp.dll", "Gangwars" },
{ "gearbox", "opfor.so", "opfor.dll", "Opposing Force" }, { "gearbox", "opfor.so", "opfor.dll", "Opposing Force" },
{ "globalwarfare", "gw.so", "mp.dll", "Global Warfare" }, { "globalwarfare", "gw.so", "mp.dll", "Global Warfare" }, // _i386.so, updated linux binary name [2012]
{ "goldeneye", "golden.so", "mp.dll", "Goldeneye" }, { "goldeneye", nullptr, "mp.dll", "Goldeneye" }, // have no linux binary found!
{ "hcfrenzy", "hcfrenzy.so", "hcfrenzy.dll", "Headcrab Frenzy" }, { "hcfrenzy", "hcfrenzy.so", "hcfrenzy.dll", "Headcrab Frenzy" },
{ "hl15we", "hl.so", "hl.dll", "Half-Life 1.5: Weapon Edition" }, { "hl15we", "hl.so", "hl.dll", "Half-Life 1.5: Weapon Edition" },
{ "hlrally", "hlr.so", "hlrally.dll", "HL-Rally" }, { "hlrally", "hlr.so", "hlrally.dll", "HL-Rally" },
@ -60,35 +55,29 @@ const game_modinfo_t g_known_games[] = {
{ "msc", nullptr, "ms.dll", "Master Sword Continued" }, { "msc", nullptr, "ms.dll", "Master Sword Continued" },
{ "ns", "ns.so", "ns.dll", "Natural Selection" }, { "ns", "ns.so", "ns.dll", "Natural Selection" },
{ "nsp", "ns.so", "ns.dll", "Natural Selection Beta" }, { "nsp", "ns.so", "ns.dll", "Natural Selection Beta" },
{ "oel", "hl.so", "hl.dll", "OeL Half-Life" },
{ "og", "og.so", "og.dll", "Over Ground" }, { "og", "og.so", "og.dll", "Over Ground" },
{ "ol", "ol.so", "hl.dll", "Outlawsmod" }, { "ol", "ol.so", "hl.dll", "Outlawsmod" },
{ "ops1942", "spirit.so", "spirit.dll", "Operations 1942" }, { "ops1942", "spirit.so", "spirit.dll", "Operations 1942" },
{ "osjb", "osjb.so", "jail.dll", "Open-Source Jailbreak" }, { "osjb", "osjb.so", "jail.dll", "Open-Source Jailbreak" },
{ "outbreak", nullptr, "hl.dll", "Out Break" }, //have no linux binary { "outbreak", nullptr, "hl.dll", "Out Break" }, // have no linux binary found!
{ "oz", "mp.so", "mp.dll", "Oz Deathmatch" }, { "oz", "mp.so", "mp.dll", "Oz Deathmatch" },
{ "paintball", "pb.so", "mp.dll", "Paintball" }, { "paintball", "pb.so", "mp.dll", "Paintball" },
{ "penemy", "pe.so", "pe.dll", "Public Enemy" }, { "penemy", "pe.so", "pe.dll", "Public Enemy" },
{ "phineas", "phineas.so", "phineas.dll", "Phineas Bot" },
{ "ponreturn", "ponr.so", "mp.dll", "Point of No Return" }, { "ponreturn", "ponr.so", "mp.dll", "Point of No Return" },
{ "pvk", "hl.so", "hl.dll", "Pirates, Vikings and Knights" }, { "pvk", "hl.so", "hl.dll", "Pirates, Vikings and Knights" },
{ "rc2", "rc2.so", "rc2.dll", "Rocket Crowbar 2" }, { "rc2", "rc2.so", "rc2.dll", "Rocket Crowbar 2" },
{ "recbb2", "recb.so", "recb.dll", "Resident Evil : Cold Blood" }, { "recbb2", "recb.so", "recb.dll", "Resident Evil : Cold Blood" },
{ "retrocs", "rcs.so", "rcs.dll", "Retro Counter-Strike" }, { "rewolf", nullptr, "gunman.dll", "Gunman Chronicles" }, // have no linux binary found!
{ "rewolf", "hl.so", "gunman.dll", "Gunman Chronicles" },
{ "ricochet", "ricochet.so", "mp.dll", "Ricochet" }, { "ricochet", "ricochet.so", "mp.dll", "Ricochet" },
{ "rockcrowbar", "rc.so", "rc.dll", "Rocket Crowbar" }, { "rockcrowbar", "rc.so", "rc.dll", "Rocket Crowbar" }, // + _i386.so
{ "rockcrowbar", "rc_i386.so", "rc.dll", "Rocket Crowbar" },
{ "rspecies", "hl.so", "hl.dll", "Rival Species" }, { "rspecies", "hl.so", "hl.dll", "Rival Species" },
{ "scihunt", "shunt.so", "shunt.dll", "Scientist Hunt" }, { "scihunt", "shunt.so", "shunt.dll", "Scientist Hunt" },
{ "sdm", "sdmmod.so", "sdmmod.dll", "Special Death Match" },
{ "sdmmod", "sdmmod.so", "sdmmod.dll", "Special Death Match" },
{ "ship", "ship.so", "ship.dll", "The Ship" }, { "ship", "ship.so", "ship.dll", "The Ship" },
{ "si", "si.so", "si.dll", "Science & Industry" }, { "si", "si.so", "si.dll", "Science & Industry" },
{ "snow", "snow.so", "snow.dll", "Snow-War" }, { "snow", "snow.so", "snow.dll", "Snow-War" },
{ "stargatetc", "hl.so", "hl.dll", "StargateTC (Old, 1.x)" }, { "stargatetc", "hl.so", "hl.dll", "StargateTC (Old, 1.x)" },
{ "stargatetc", "stc_i386.so", "hl.dll", "StargateTC (Updated, 2.x)" }, { "stargatetc", "stc.so", "hl.dll", "StargateTC (Updated, 2.x)" }, // _i386.so
{ "stargatetc", "stc_i386_opt.so", "hl.dll", "StargateTC (Updated, 2.x)" }, { "stargatetc", "stc_i386_opt.so", "hl.dll", "StargateTC (Updated, 2.x)" }, // ...
{ "svencoop", "hl.so", "hl.dll", "Sven Coop (Old)" }, { "svencoop", "hl.so", "hl.dll", "Sven Coop (Old)" },
{ "svencoop", "server.so", "server.dll", "Sven Coop (Steam)" }, { "svencoop", "server.so", "server.dll", "Sven Coop (Steam)" },
{ "swarm", "swarm.so", "swarm.dll", "Swarm" }, { "swarm", "swarm.so", "swarm.dll", "Swarm" },
@ -97,24 +86,205 @@ const game_modinfo_t g_known_games[] = {
{ "timeless", "pt.so", "timeless.dll", "Project Timeless" }, { "timeless", "pt.so", "timeless.dll", "Project Timeless" },
{ "tod", "hl.so", "hl.dll", "Tour of Duty" }, { "tod", "hl.so", "hl.dll", "Tour of Duty" },
{ "trainhunters", "th.so", "th.dll", "Train Hunters" }, { "trainhunters", "th.so", "th.dll", "Train Hunters" },
{ "trevenge", "trevenge.so", "trevenge.dll", "The Terrorist Revenge" }, { "ts", "ts.so", "mp.dll", "The Specialists" }, //_i686.so, _i386.so
{ "ts", "ts_i686.so", "mp.dll", "The Specialists" },
{ "ts", "ts_i386.so", "mp.dll", "The Specialists" },
{ "tt", "tt.so", "tt.dll", "The Trenches" }, { "tt", "tt.so", "tt.dll", "The Trenches" },
{ "underworld", "uw.so", "uw.dll", "Underworld Bloodline" }, { "underworld", "uw.so", "uw.dll", "Underworld Bloodline" },
{ "valve", "hl.so", "hl.dll", "Half-Life" }, { "valve", "hl.so", "hl.dll", "Half-Life" },
{ "vs", "vs.so", "mp.dll", "VampireSlayer" }, { "vs", "vs.so", "mp.dll", "VampireSlayer" },
{ "wantedhl", "hl.so", "wanted.dll", "Wanted!" }, { "wantedhl", "hl.so", "wanted.dll", "Wanted!" },
{ "wasteland", "whl_linux.so", "mp.dll", "Wasteland" }, { "wizardwars", "wizardwars.so", "wizardwars.dll", "Wizard Wars (Steam)" },
{ "weapon_wars", "ww.so", "hl.dll", "Weapon Wars" }, { "wizardwars_beta", "wizardwars.so", "wizardwars.dll", "Wizard Wars Beta (Steam)" }, // folder's name is not same as original. not duplicate
{ "wizardwars", "wizardwars_i486.so", "wizardwars.dll", "Wizard Wars (Steam)" },
{ "wizardwars_beta", "wizardwars_i486.so", "wizardwars.dll", "Wizard Wars Beta (Steam)" },
{ "wizwars", "mp.so", "hl.dll", "Wizard Wars (Old)" }, { "wizwars", "mp.so", "hl.dll", "Wizard Wars (Old)" },
{ "wormshl", "wormshl_i586.so", "wormshl.dll", "WormsHL (Old)" }, { "wormshl", "wormshl.so", "wormshl.dll", "WormsHL" }, // _i586.so old, _i686.so steam
{ "wormshl", "wormshl_i686.so", "wormshl.dll", "WormsHL (Steam)" }, { "zp", "hl.so", "mp.dll", "Zombie Panic" }, // _i386.so
{ "zp", "hl_i386.so", "mp.dll", "Zombie Panic" },
// End of list terminator: // End of list terminator:
{ nullptr, nullptr, nullptr, nullptr } { nullptr, nullptr, nullptr, nullptr }
}; };
// Find a modinfo corresponding to the given game name.
static const game_modinfo_t *lookup_game(const char *name)
{
for (auto& known : g_known_games) {
if (known.name && !Q_stricmp(known.name, name))
return &known;
}
// no match found
return nullptr;
}
bool lookup_game_postfixes(gamedll_t *gamedll)
{
char pathname[MAX_PATH];
static char postfix_path[MAX_PATH] = "";
Q_strlcpy(pathname, gamedll->pathname);
// find extensions and skip
char *pos = Q_strrchr(pathname, '.');
if (pos) {
*pos = '\0';
}
for (size_t i = 0; i < arraysize(g_platform_postfixes); i++)
{
postfix_path[0] = '\0';
Q_strlcat(postfix_path, pathname);
Q_strlcat(postfix_path, g_platform_postfixes[i]);
if (is_file_exists_in_gamedir(postfix_path)) {
Q_strlcpy(gamedll->pathname, postfix_path);
Q_strlcpy(gamedll->real_pathname, postfix_path);
gamedll->file = postfix_path;
return true;
}
}
return false;
}
// Installs gamedll from Steam cache
bool install_gamedll(char *from, const char *to)
{
if (!from)
return false;
if (!to)
to = from;
int length_in;
byte *cachefile = LOAD_FILE_FOR_ME(from, &length_in);
// If the file seems to exist in the cache.
if (cachefile) {
int fd = open(to, O_WRONLY | O_CREAT | O_EXCL | O_BINARY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
if (fd < 0) {
META_DEBUG(3, "Installing gamedll from cache: Failed to create file %s: %s", to, strerror(errno));
FREE_FILE(cachefile);
return false;
}
int length_out = write(fd, cachefile, length_in);
FREE_FILE(cachefile);
close(fd);
// Writing the file was not successfull
if (length_out != length_in) {
META_DEBUG(3, "Installing gamedll from chache: Failed to write all %d bytes to file, only %d written: %s", length_in, length_out, strerror(errno));
// Let's not leave a mess but clean up nicely.
if (length_out >= 0)
_unlink(to);
return false;
}
META_LOG("Installed gamedll %s from cache.", to);
}
else {
META_DEBUG(3, "Failed to install gamedll from cache: file %s not found in cache.", from);
return false;
}
return true;
}
// Set all the fields in the gamedll struct, - based either on an entry in
// known_games matching the current gamedir, or on one specified manually
// by the server admin.
//
// meta_errno values:
// - ME_NOTFOUND couldn't recognize game
bool setup_gamedll(gamedll_t *gamedll)
{
bool override = false;
const game_modinfo_t *known;
const char *knownfn = nullptr;
// First, look for a known game, based on gamedir.
if ((known = lookup_game(gamedll->name))) {
#ifdef _WIN32
knownfn = known->win_dll;
#else
knownfn = known->linux_so;
#endif
}
// Neither override nor known-list found a gamedll.
if (!known && !g_config->m_gamedll)
return false;
// Use override-dll if specified.
if (g_config->m_gamedll) {
Q_strlcpy(gamedll->pathname, g_config->m_gamedll);
// If the path is relative, the gamedll file will be missing and
// it might be found in the cache file.
if (!is_abs_path(gamedll->pathname)) {
char szInstallPath[MAX_PATH];
Q_snprintf(szInstallPath, sizeof(szInstallPath), "%s/%s", gamedll->gamedir, gamedll->pathname);
// If we could successfully install the gamedll from the cache we
// rectify the pathname to be a full pathname.
if (install_gamedll(gamedll->pathname, szInstallPath)) {
Q_strlcpy(gamedll->pathname, szInstallPath);
}
}
override = true;
}
// Else use Known-list dll.
else if (known) {
Q_snprintf(gamedll->pathname, sizeof(gamedll->pathname), "%s/dlls/%s", gamedll->gamedir, knownfn);
}
else {
// Neither override nor known-list found a gamedll.
return false;
}
// get filename from pathname
char *cp = Q_strrchr(gamedll->pathname, '/');
if (cp)
cp++;
else
cp = gamedll->pathname;
gamedll->file = cp;
// If found, store also the supposed "real" dll path based on the
// gamedir, in case it differs from the "override" dll path.
if (known && override) {
Q_snprintf(gamedll->real_pathname, sizeof(gamedll->real_pathname), "%s/dlls/%s", gamedll->gamedir, knownfn);
}
else {
Q_strlcpy(gamedll->real_pathname, gamedll->pathname);
}
if (override) {
// generate a desc
Q_snprintf(gamedll->desc, sizeof(gamedll->desc), "%s (override)", gamedll->file);
// log result
META_LOG("Overriding game '%s' with dllfile '%s'", gamedll->name, gamedll->file);
}
else if (known) {
Q_strlcpy(gamedll->desc, known->desc);
#if !defined(_WIN32)
if (!is_file_exists_in_gamedir(gamedll->pathname))
{
// trying lookup gamedll with postfixes ie _i386.so
if (lookup_game_postfixes(gamedll)) {
META_DEBUG(3, "dll: Trying lookup to gamedll with postfixes was a success. Game '%s'", gamedll->pathname);
}
}
#endif
META_LOG("Recognized game '%s'; using dllfile '%s'", gamedll->name, gamedll->file);
}
return true;
}