Ikey Doherty
d4eb0ca042
Fix gitmodules so we can git build LSI in ypkg
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 20:10:31 +01:00
Ikey Doherty
bfb703be68
intercept: Only blacklist common glews (TEMPORARY)
...
This will permit Super Hexagon to launch, which has a vendored libglew
in tree (1.6 ABI). This is only being allowed on a temporary basis for
two reasons:
* C ABI and not C++
* We don't ship this guy in Solus, and don't plan to.
Once LSI is available as a snap, we'll add a super strict mode and then
provide all the GLEW libraries in the image.
This fixes #21 .
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 20:05:21 +01:00
Ikey Doherty
d0708a2332
redirect: Unbreak Ark profile
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 19:38:19 +01:00
Ikey Doherty
a7c59cacef
profiles: When running Ark, set up the log ID for debugging
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 19:06:27 +01:00
Ikey Doherty
799c4b1e48
redirect: Use fine-grained absolute process name matching
...
This ensures we only target the games we care about, and don't accidentally
match something using the same binary name.
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 19:01:16 +01:00
Ikey Doherty
ada9b92f53
common: Add new lsi_get_process_name for absolute path
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 18:56:23 +01:00
Ikey Doherty
60c3ddc6e9
Rename lsi_get_process_name for clarity
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 18:53:48 +01:00
Ikey Doherty
c3a071e2a0
redirect: Split hard-coded Ark into separate generation function
...
This allows us to make profile initialisation more generic, and potentially
support more workarounds in future. For now our entry point will walk the
generator table until a profile is supported.
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 18:51:14 +01:00
Ikey Doherty
4001ffc814
common: Make William happy (and memory alignment)
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 03:29:09 +01:00
Ikey Doherty
e3a4640c04
redirect: Reduce spam, don't redirect to non-existent files
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 03:08:02 +01:00
Ikey Doherty
bddeda6ef3
redirect; Fix process matching again
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 03:07:19 +01:00
Ikey Doherty
71322156e3
Leak less!
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 03:06:38 +01:00
Ikey Doherty
c5bb4ca040
Build redirect paths for all known Steam Paths
...
This will ensure that if Steam is located on another disk, we're still
able to locate the LibraryFolders stanza in `libraryfolders.vdf` and
add all applicable rules given the realpath()'d resolved paths.
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 03:02:30 +01:00
Ikey Doherty
a2502c1ec7
common: Add the initial VDF parser
...
This is a node-tree based parser for the Valve Data Format. Currently
it is provided so that we can parse the Steam Client's library configuration
to determine exactly what directories consitute the "installation" for the
user.
At present, this is a "parse or bail" implementation, and doesn't really
do much in the way of pretty printing errors. It's also not geared for
writing VDF files, though if people request it, I'll happily add that.
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-23 02:25:06 +01:00
Ikey Doherty
2b2e73b572
redirect: Spam output!
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 03:27:22 +01:00
Ikey Doherty
a98ebc3607
profile: realpath all the things!
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 03:26:21 +01:00
Ikey Doherty
78fcdf6247
redirect: Clean up that multiline jankiness
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 03:23:29 +01:00
Ikey Doherty
516823ae3c
redirect: Fix broken list behaviour
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 03:13:47 +01:00
Ikey Doherty
f2352546d4
redirect: Ensure we deal with absolute paths only
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 03:13:36 +01:00
Ikey Doherty
b87210a253
redirect: Walk op table until we have a replacement path
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 03:01:44 +01:00
Ikey Doherty
2d6ab6d497
redirect: Flesh out the basic Ark: Survival Evolved profile
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 02:55:43 +01:00
Ikey Doherty
ffdc14c109
redirect: Add API for creating and freeing chained LsiRedirects
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 02:47:49 +01:00
Ikey Doherty
e45340973a
Fix logging, start fleshing out redirect profile API
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 02:39:47 +01:00
Ikey Doherty
1f73dd3e0b
intercept: Prettify output again
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 01:15:18 +01:00
Ikey Doherty
fb50dca553
redirect: Set up an initial Ark Survival Evolved profile
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 01:13:55 +01:00
Ikey Doherty
edf3176c70
common: Fix derpy log
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 01:13:45 +01:00
Ikey Doherty
e73d384726
redirect: Make sure op_table is pointered vfunc table
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 01:04:27 +01:00
Ikey Doherty
30152b9604
redirect: Begin working on new Profile bits
...
The Profile will allow us to construct reusable/extendable rules
to handle various game issues.
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 01:02:18 +01:00
Ikey Doherty
a83b1c24b2
Switch all "pretty printing" over to common/log
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:50:34 +01:00
Ikey Doherty
0f33bb1fbd
redirect: Start using log functions
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:39:24 +01:00
Ikey Doherty
88550aeffc
common: Add basic (janky) logging system
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:37:32 +01:00
Ikey Doherty
fe83d34984
redirect: Clean up init, don't use fprintf when OOM
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:25:43 +01:00
Ikey Doherty
9b4187ed27
common: Fix symbol visibility once more
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:19:52 +01:00
Ikey Doherty
b40eba8ad9
Further deduplication (get_process_name, file_exists)
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:18:55 +01:00
Ikey Doherty
1179763531
redirect: Don't dupe lsi_file_exists
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:16:16 +01:00
Ikey Doherty
627c7639cf
Stop building nica lots, build it once inside lsi_common
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:14:38 +01:00
Ikey Doherty
290260c09e
Move common.h into common library
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:12:04 +01:00
Ikey Doherty
a691985541
Dedupe, implement support for getting steam directory
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:10:49 +01:00
Ikey Doherty
1811ff5225
lsi: Dedupe into common
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:03:51 +01:00
Ikey Doherty
a932486826
Start splitting out a new common library
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-22 00:02:18 +01:00
Ikey Doherty
3c69b6dc05
Switch to C11 so we get unnamed structs/unions
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 20:25:25 +01:00
Ikey Doherty
c8f0cecb15
redirect: Start designing the generic ops table
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 20:24:57 +01:00
Ikey Doherty
3b01919148
shim: Set LD_PRELOAD for libredirect if enabled
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 19:46:25 +01:00
Ikey Doherty
474aca0b69
lsi: Teach config how to handle toggle on libredirect
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 19:46:13 +01:00
Ikey Doherty
fa81893d41
Be a little bit less verbose
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 19:19:27 +01:00
Ikey Doherty
f958b8ac3f
redirect: Cheeky initial hack to see if we can replace paths
...
This is a very ugly hack right now but we'll prettify it and make
it all more generic, but right now it'll hotswap the depthblur
in Ark for the one coming from "TheCenter" mod.
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 19:18:30 +01:00
Ikey Doherty
971d0c280e
redirect: Temporarily teach it about ShooterGame for debugging
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 19:02:58 +01:00
Ikey Doherty
4f6166bdce
redirect: Add basic code path for "if lsi_override"
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 18:44:09 +01:00
Ikey Doherty
be98e146ed
redirect: Differentiate between table + lsi redirect init
...
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 18:42:22 +01:00
Ikey Doherty
5c131f6b28
redirect: Fix open args for variadic functions
...
Also mark stuff as fatal because at this point we've override `open` ..
Signed-off-by: Ikey Doherty <ikey@solus-project.com >
2017-10-21 18:31:24 +01:00