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?
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.
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 [![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
If all be ok we will pull this list to awesome metamod-r.
# To do
1. test all games\mods on windows
2. test all games\mods on linux (if available)
1. test again all games\mods on windows
2. test again all games\mods on linux (if available)
3. keep some windows-servers. for fun. why not?
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
| ------------- |---------------| ------| ------| ------| ------|------|
| [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:
:x: - unsuccess :heavy_check_mark: - success :interrobang: - need testing :anger: - not shure
-----------------------------------
| 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
| 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 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) | :interrobang: | :interrobang: | :interrobang:
| [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:
| [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
| 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
| [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:
| [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.
| [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:
| [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:
| [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.
| 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.
| 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.
| 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.
| Counter-Strike 1.5 (Steam) | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :heavy_check_mark:
| Desert Crisis | [reHLDS](https://github.com/dreamstalker/rehlds) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :interrobang: | :interrobang: | :interrobang:
| 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:
| ~[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
| ~[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
| ~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.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.
| ~[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.
| ~[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.
| ~[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.
| ~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
| ~OeL Half-Life~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~Phineas Bot~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Old outdated won-version.
| ~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
| ~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
| ~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
| ~[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.
| ~Wasteland~ | [ReHLDS](https://github.com/dreamstalker/ReHLDS) | [Metamod-r](https://github.com/theAsmodai/metamod-r) | :x: | :x: | :x: | Cant find in the internet. lol
| ~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

View File

@ -1,3 +1,5 @@
#include "precompiled.h"
// Adapted from adminmod h_export.cpp:
//! 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
@ -8,44 +10,37 @@ const game_modinfo_t g_known_games[] = {
// Previously enumerated in this sourcefile, the list is now kept in a
// separate file, generated based on game information stored in a
// convenient db.
{ "action", "ahl.so", "ahl.dll", "Action Half-Life" },
{ "ag", "ag.so", "ag.dll", "Adrenaline Gamer" },
{ "ag3", "hl.so", "hl.dll", "Adrenalinegamer 3.x" },
{ "aghl", "ag.so", "ag.dll", "Adrenalinegamer 4.x" },
{ "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
{ "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" }, // .so file by OpenAG fork
{ "asheep", nullptr, "hl.dll", "Azure Sheep" }, // have no linux binary found!
{ "bdef", "server.so", "server.dll", "Base Defense" }, // placed in normal dll folder [2017]
{ "bg", "bg.so", "bg.dll", "The Battle Grounds" },
{ "bhl", nullptr, "bhl.dll", "Brutal Half-Life" }, //have no linux binary!
{ "bot", "bot.so", "bot.dll", "Bot" },
{ "brainbread", "bb.so", "bb.dll", "Brain Bread" },
{ "bhl", nullptr, "bhl.dll", "Brutal Half-Life" }, // have no linux binary found!
{ "brainbread", nullptr, "bb.dll", "Brain Bread" }, // have no linux binary found!
{ "bshift", "bshift.so", "hl.dll", "Half-Life: Blue Shift" },
{ "bumpercars", "hl.so", "hl.dll", "Bumper Cars" },
{ "buzzybots", "bb.so", "bb.dll", "BuzzyBots" },
{ "ckf3", nullptr, "mp.dll", "Chicken Fortress 3" }, //have no linux binary!
{ "cs13", "cs.so", "mp.dll", "Counter-Strike 1.3" },
{ "cstrike", "cs.so", "mp.dll", "Counter-Strike" },
{ "csv15", "cs.so", "mp.dll", "Counter-Strike 1.5 (Steam)" },
{ "bumpercars", nullptr, "hl.dll", "Bumper Cars" }, // have no linux binary found!
{ "buzzybots", nullptr, "bb.dll", "BuzzyBots" }, // have no linux binary found!
{ "ckf3", nullptr, "mp.dll", "Chicken Fortress 3" }, // have no linux binary found!, checked all versions (latest - Alpha 4)
{ "cs10", nullptr, "mp.dll", "Counter-Strike 1.0" }, // have no linux binary found!
{ "csv15", nullptr, "mp.dll", "Counter-Strike 1.5" }, // have no linux binary found!
{ "cstrike", "cs.so", "mp.dll", "Counter-Strike 1.6" },
{ "czero", "cs.so", "mp.dll", "Counter-Strike:Condition Zero" },
{ "czeror", "cz.so", "cz.dll", "Counter-Strike:Condition Zero Deleted Scenes" },
{ "dcrisis", "dc.so", "dc.dll", "Desert Crisis" },
{ "decay", nullptr, "decay.dll", "Half-Life: Decay" },
{ "dcrisis", "dc.so", "dc.dll", "Desert Crisis" }, // _i386.so, updated linux binary name [2010]
{ "decay", nullptr, "decay.dll", "Half-Life: Decay" }, // have no linux binary!
{ "dmc", "dmc.so", "dmc.dll", "Deathmatch Classic" },
{ "dod", "dod.so", "dod.dll", "Day of Defeat" },
{ "dpb", "pb.i386.so", "pb.dll", "Digital Paintball" },
{ "dragonmodz", "hl.so", "mp.dll", "Dragon Mod Z" },
{ "esf", "../linuxdll/hl_i386.so", "hl.dll", "Earth's Special Forces (Steam)" }, //workaround
{ "esf", "hl.so", "hl.dll", "Earth's Special Forces (Old)" },
{ "existence", "ex.so", "existence.dll", "Existence" },
{ "firearms", "fa.so", "firearms.dll", "Firearms" },
{ "firearms25", "fa.so", "firearms.dll", "Retro Firearms" },
{ "freeze", "mp.so", "mp.dll", "Freeze" },
{ "frontline", "front.so", "frontline.dll", "Frontline Force" },
{ "gangstawars", "gangsta.so", "gwars27.dll", "Gangsta Wars (Steam)" },
{ "gangwars", "mp.so", "mp.dll", "Gangwars" },
{ "dpb", "pb.i386.so", "pb.dll", "Digital Paintball" }, // ...
{ "esf", "../linuxdll/hl.so", "hl.dll", "Earth's Special Forces (old)" }, // _i386.so, workaround for basic-linux version
{ "esf", "hl.so", "hl.dll", "Earth's Special Forces" }, // _i386.so, full linux version
{ "existence", nullptr, "existence.dll", "Existence" }, // have no linux binary found!
{ "firearms", nullptr, "firearms.dll", "Firearms" }, // have no linux binary found!
{ "frontline", "front.so", "frontline.dll", "Frontline Force" }, // _i386.so, updated linux binary name [2012]
{ "gangstawars", nullptr, "gwars27.dll", "Gangsta Wars" }, // have no linux binary found!
{ "gangwars", nullptr, "mp.dll", "Gangwars" }, // have no linux binary found!
{ "gearbox", "opfor.so", "opfor.dll", "Opposing Force" },
{ "globalwarfare", "gw.so", "mp.dll", "Global Warfare" },
{ "goldeneye", "golden.so", "mp.dll", "Goldeneye" },
{ "globalwarfare", "gw.so", "mp.dll", "Global Warfare" }, // _i386.so, updated linux binary name [2012]
{ "goldeneye", nullptr, "mp.dll", "Goldeneye" }, // have no linux binary found!
{ "hcfrenzy", "hcfrenzy.so", "hcfrenzy.dll", "Headcrab Frenzy" },
{ "hl15we", "hl.so", "hl.dll", "Half-Life 1.5: Weapon Edition" },
{ "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" },
{ "ns", "ns.so", "ns.dll", "Natural Selection" },
{ "nsp", "ns.so", "ns.dll", "Natural Selection Beta" },
{ "oel", "hl.so", "hl.dll", "OeL Half-Life" },
{ "og", "og.so", "og.dll", "Over Ground" },
{ "ol", "ol.so", "hl.dll", "Outlawsmod" },
{ "ops1942", "spirit.so", "spirit.dll", "Operations 1942" },
{ "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" },
{ "paintball", "pb.so", "mp.dll", "Paintball" },
{ "penemy", "pe.so", "pe.dll", "Public Enemy" },
{ "phineas", "phineas.so", "phineas.dll", "Phineas Bot" },
{ "ponreturn", "ponr.so", "mp.dll", "Point of No Return" },
{ "pvk", "hl.so", "hl.dll", "Pirates, Vikings and Knights" },
{ "rc2", "rc2.so", "rc2.dll", "Rocket Crowbar 2" },
{ "recbb2", "recb.so", "recb.dll", "Resident Evil : Cold Blood" },
{ "retrocs", "rcs.so", "rcs.dll", "Retro Counter-Strike" },
{ "rewolf", "hl.so", "gunman.dll", "Gunman Chronicles" },
{ "rewolf", nullptr, "gunman.dll", "Gunman Chronicles" }, // have no linux binary found!
{ "ricochet", "ricochet.so", "mp.dll", "Ricochet" },
{ "rockcrowbar", "rc.so", "rc.dll", "Rocket Crowbar" },
{ "rockcrowbar", "rc_i386.so", "rc.dll", "Rocket Crowbar" },
{ "rockcrowbar", "rc.so", "rc.dll", "Rocket Crowbar" }, // + _i386.so
{ "rspecies", "hl.so", "hl.dll", "Rival Species" },
{ "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" },
{ "si", "si.so", "si.dll", "Science & Industry" },
{ "snow", "snow.so", "snow.dll", "Snow-War" },
{ "stargatetc", "hl.so", "hl.dll", "StargateTC (Old, 1.x)" },
{ "stargatetc", "stc_i386.so", "hl.dll", "StargateTC (Updated, 2.x)" },
{ "stargatetc", "stc_i386_opt.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)" }, // ...
{ "svencoop", "hl.so", "hl.dll", "Sven Coop (Old)" },
{ "svencoop", "server.so", "server.dll", "Sven Coop (Steam)" },
{ "swarm", "swarm.so", "swarm.dll", "Swarm" },
@ -97,24 +86,205 @@ const game_modinfo_t g_known_games[] = {
{ "timeless", "pt.so", "timeless.dll", "Project Timeless" },
{ "tod", "hl.so", "hl.dll", "Tour of Duty" },
{ "trainhunters", "th.so", "th.dll", "Train Hunters" },
{ "trevenge", "trevenge.so", "trevenge.dll", "The Terrorist Revenge" },
{ "ts", "ts_i686.so", "mp.dll", "The Specialists" },
{ "ts", "ts_i386.so", "mp.dll", "The Specialists" },
{ "ts", "ts.so", "mp.dll", "The Specialists" }, //_i686.so, _i386.so
{ "tt", "tt.so", "tt.dll", "The Trenches" },
{ "underworld", "uw.so", "uw.dll", "Underworld Bloodline" },
{ "valve", "hl.so", "hl.dll", "Half-Life" },
{ "vs", "vs.so", "mp.dll", "VampireSlayer" },
{ "wantedhl", "hl.so", "wanted.dll", "Wanted!" },
{ "wasteland", "whl_linux.so", "mp.dll", "Wasteland" },
{ "weapon_wars", "ww.so", "hl.dll", "Weapon Wars" },
{ "wizardwars", "wizardwars_i486.so", "wizardwars.dll", "Wizard Wars (Steam)" },
{ "wizardwars_beta", "wizardwars_i486.so", "wizardwars.dll", "Wizard Wars Beta (Steam)" },
{ "wizardwars", "wizardwars.so", "wizardwars.dll", "Wizard Wars (Steam)" },
{ "wizardwars_beta", "wizardwars.so", "wizardwars.dll", "Wizard Wars Beta (Steam)" }, // folder's name is not same as original. not duplicate
{ "wizwars", "mp.so", "hl.dll", "Wizard Wars (Old)" },
{ "wormshl", "wormshl_i586.so", "wormshl.dll", "WormsHL (Old)" },
{ "wormshl", "wormshl_i686.so", "wormshl.dll", "WormsHL (Steam)" },
{ "zp", "hl_i386.so", "mp.dll", "Zombie Panic" },
{ "wormshl", "wormshl.so", "wormshl.dll", "WormsHL" }, // _i586.so old, _i686.so steam
{ "zp", "hl.so", "mp.dll", "Zombie Panic" }, // _i386.so
// End of list terminator:
{ 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;
}