Skip to content

Commit 3fd9cab

Browse files
authored
Merge pull request #296 from Bilgecrank/master
Configured the VDF parser to ignore whitespace instead of removing it.
2 parents 7d4bcb1 + 444ea66 commit 3fd9cab

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,24 @@ arma3-unix-launcher --preset-to-run testmod --server-ip 127.0.0.1 --server-port
113113

114114
<img src="https://i.imgur.com/t2HXjY5.png" width="400"><img src="https://i.imgur.com/sAetuqr.png" width="400">
115115

116+
## Arma 3 Troubleshooting
117+
118+
### Launch Issues
119+
When directly launching the game if you experience issues getting the game to start, such as a VDF error, a temporary solution can be to start the launcher with the `-d` or `--disable-steam-integration` flag.
120+
121+
### Proton Custom Version (Compatability Tool Not Found)
122+
If using a custom verison of proton, like Glorious Eggroll or a source build, sometimes the launcher cannot find the implementation if its directory is different from what is written in the `config.vdf`. For example, if you're using Arch Linux's `proton-ge-custom-bin` it may install under `/usr/share/steam/compatibilitytools.d/proton-ge-custom`, but the CompatToolMapping for Arma in your `.steam/steam/config/config.vdf` may read as `Proton-GE`. To fix this, create a soft link to the actual installation, using the value in config.vdf as a link.
123+
124+
If your custom tool is tn the user folder, assuming your custom build is in `proton-ge-custom/` but your config.vdf is pointing to `Proton-GE`:
125+
```shell
126+
ln -s [your/steam/path]/compatibilitytools.d/proton-ge-custom [your/steam/path]/compatibilitytools.d/Proton-GE
127+
```
128+
129+
If your custom tool is in the system folder,assuming your custom build is in `proton-ge-custom/` but your config.vdf is pointing to `Proton-GE`:
130+
```shell
131+
sudo ln -s /usr/share/steam/compatibilitytools.d/proton-ge-custom /usr/share/steam/compatibilitytools.d/Proton-GE
132+
```
133+
116134
## DayZ Installation
117135

118136
Before trying to run DayZ via Steam Proton, be sure to increase the max_map_count:

src/arma3-unix-launcher-library/vdf.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void VDF::LoadFromText(std::string_view const text, bool append)
2121
{
2222
if (!append)
2323
KeyValue.clear();
24-
ParseVDF(RemoveWhitespaces(text));
24+
ParseVDF(std::string(text));
2525
}
2626

2727
void VDF::AddKeyValuePair()
@@ -88,7 +88,9 @@ void VDF::ProcessChar(char c)
8888

8989
void VDF::LookForKey(char c)
9090
{
91-
if (c == '"')
91+
if (std::isspace(c))
92+
return;
93+
else if (c == '"')
9294
state_ = VDFState::ReadingKey;
9395
else if (c == '}' && CanPop())
9496
hierarchy_.pop_back();
@@ -98,7 +100,9 @@ void VDF::LookForKey(char c)
98100

99101
void VDF::LookForValue(char c)
100102
{
101-
if (c == '"')
103+
if (std::isspace(c))
104+
return;
105+
else if (c == '"')
102106
state_ = VDFState::ReadingValue;
103107
else if (c == '{')
104108
{

0 commit comments

Comments
 (0)