Skip to content

Add Uplay option for Assassin's Creed I #965

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Kreyren
Copy link
Contributor

@Kreyren Kreyren commented Jun 5, 2019

Credit: https://github.com/Haoose/UPLAY_GAME_ID/blob/master/README.md

Blocked by: #978

Blocked by #982 and Ready to merge after.

@qparis
Copy link
Member

qparis commented Jun 5, 2019

Thank you for the contribution. Have you tested the script?

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 5, 2019

Thank you for the contribution. Have you tested the script?

If you prefer rolling release, then i did.

If you prefer stable release, then i did not.

@qparis
Copy link
Member

qparis commented Jun 5, 2019

I don't understand

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 5, 2019

I don't understand

Then i did not, will test

@Kreyren Kreyren changed the title Add Uplay option for AC1 Add Uplay option for Assassin's Creed I Jun 5, 2019
@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 5, 2019

Results in:

javax.script.ScriptException: <eval>:16:1 Expected comma but found ;
};
 ^ in <eval> at line number 16 at column number 1
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:544)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:531)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:162)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
	at org.phoenicis.scripts.nashorn.NashornEngine.eval(NashornEngine.java:50)
	at org.phoenicis.scripts.nashorn.NashornScriptInterpreter.runScript(NashornScriptInterpreter.java:35)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$runScript$0(BackgroundScriptInterpreter.java:35)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: jdk.nashorn.internal.runtime.ParserException: <eval>:16:1 Expected comma but found ;
};
 ^
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:297)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:282)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.objectLiteral(Parser.java:2996)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.primaryExpression(Parser.java:2801)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.memberExpression(Parser.java:3623)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.leftHandSideExpression(Parser.java:3407)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.unaryExpression(Parser.java:4440)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.expression(Parser.java:4620)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.conditionalExpression(Parser.java:4772)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.assignmentExpression(Parser.java:4711)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.variableDeclarationList(Parser.java:1633)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.variableStatement(Parser.java:1532)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.statement(Parser.java:1042)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.sourceElements(Parser.java:909)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.program(Parser.java:844)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.parse(Parser.java:325)
	at jdk.scripting.nashorn/jdk.nashorn.internal.parser.Parser.parse(Parser.java:285)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.compile(Context.java:1500)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.compileScript(Context.java:1467)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.Context.compileScript(Context.java:750)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:542)
	... 10 more

Suspecting it beeing issue with quick script.

Found syntax err on line 12.. i hate java so much it can't even count correctly

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 5, 2019

Results in
image

Should be probably sandboxed

Uplay launcher is not rendering correctly
image
image

Fixed ubisoft launcher
image

This was referenced Jun 5, 2019
@qparis
Copy link
Member

qparis commented Jun 6, 2019

Does the game run?

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Does the game run?

Blocked by: #978

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Testing:

image

image

vcrun2005 is installed by uplay

image

Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0088b5a1).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:0088b5a1 ESP:03a2fb64 EBP:0ccde3d0 EFLAGS:00010206(  R- --  I   - -P- )
 EAX:00000000 EBX:0ccde3d0 ECX:00000000 EDX:00000003
 ESI:0ccdec9c EDI:03a2fc28
Stack dump:
0x03a2fb64:  0ccdec9c 0ccdec84 0ccde3d0 00001000
0x03a2fb74:  00000400 00000001 00000001 00000001
0x03a2fb84:  0000002c 00000001 00000000 00000000
0x03a2fb94:  00000048 00000000 00000000 03340110
0x03a2fba4:  03a2fbc0 03a2fbd0 7f232930 00000000
0x03a2fbb4:  02b997a0 03a2fc38 6a58938b 03a2fbdc
Backtrace:
=>0 0x0088b5a1 EntryPoint+0xffffffff() in assassinscreed_dx10 (0x0ccde3d0)
  1 0x00000000 (0x7fc6ee80)
  2 0x00000001 (0x016aaea8)
  3 0x007d4590 EntryPoint+0xffffffff() in assassinscreed_dx10 (0x007efcc0)
  4 0x6aaea006 (0xc7f18b56)
0x0088b5a1 EntryPoint+0xffffffff in assassinscreed_dx10: movl	0x0(%eax),%ecx
Modules:
Module	Address			Debug info	Name (41 modules)
PE	  340000-  3ad000	Deferred        d3dx10_36
PE	  400000- 2b46000	Export          assassinscreed_dx10
PE	10000000-10031000	Deferred        eax
PE	18000000-18038000	Deferred        binkw32
PE	6a540000-6a7d9000	Deferred        d3d11
PE	6f400000-6f5b9000	Deferred        dxgi
PE	70000000-7011e000	Deferred        d3d10
PE	7b420000-7b5d1000	Deferred        kernel32
PE	7bc10000-7bc14000	Deferred        ntdll
ELF	7c000000-7c205000	Deferred        <wine-loader>
PE	7cc90000-7cc93000	Deferred        winepulse
PE	7ccb0000-7ccb4000	Deferred        mmdevapi
PE	7ccd0000-7ccd6000	Deferred        gameux
PE	7cd40000-7cd44000	Deferred        uxtheme
PE	7d020000-7d024000	Deferred        winex11
PE	7d250000-7d254000	Deferred        dsound
PE	7d2b0000-7d2b4000	Deferred        iphlpapi
PE	7d2e0000-7d2eb000	Deferred        mpr
PE	7d350000-7d36e000	Deferred        wininet
PE	7d3d0000-7d3d9000	Deferred        msacm32
PE	7d400000-7d478000	Deferred        winmm
PE	7d4c0000-7d4d6000	Deferred        xinput1_3
PE	7d4d0000-7d4d4000	Deferred        imm32
PE	7d4f0000-7d4f3000	Deferred        usp10
PE	7d540000-7d592000	Deferred        comctl32
PE	7d6a0000-7d6ab000	Deferred        dinput8
PE	7d700000-7d704000	Deferred        msvcrt
PE	7d7c0000-7d7c4000	Deferred        winevulkan
PE	7d800000-7d804000	Deferred        vulkan-1
PE	7d810000-7d814000	Deferred        d3dcompiler_43
PE	7d890000-7d894000	Deferred        ws2_32
PE	7d8e0000-7d8e8000	Deferred        oleaut32
PE	7da00000-7da04000	Deferred        rpcrt4
PE	7daa0000-7dac8000	Deferred        ole32
PE	7dbf0000-7dbf3000	Deferred        shcore
PE	7dc20000-7dc28000	Deferred        shlwapi
PE	7dc90000-7e563000	Deferred        shell32
PE	7e660000-7e664000	Deferred        advapi32
PE	7e6d0000-7e6d7000	Deferred        gdi32
PE	7e830000-7e918000	Deferred        user32
PE	7eff0000-7eff4000	Deferred        version
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
	00000020    0
	0000001b    0
	00000013    0
	00000010    0
	0000000f    0
00000011 winedevice.exe
	00000018    0
	00000017    0
	00000016    0
	00000012    0
00000019 plugplay.exe
	0000001d    0
	0000001c    0
	0000001a    0
0000001e winedevice.exe
	00000023    0
	00000022    0
	00000021    0
	0000001f    0
00000024 explorer.exe
	00000028    0
	00000027    0
	00000026    0
	00000025    0
00000032 upc.exe
	000001d6    0
	0000015e    0
	00000155    0
	000000e1    0
	000000e0   -2
	0000006b    0
	0000006a    0
	00000069    0
	00000068    0
	00000067    0
	00000066    0
	00000065    0
	00000063    0
	0000005f   -2
	0000005e    0
	0000005b    0
	0000005a    0
	00000059    0
	00000058   -2
	00000057    0
	00000056    0
	00000055    0
	00000054    0
	00000053   -2
	00000052    0
	00000051   -2
	00000050    0
	0000004f    0
	0000004e    0
	0000004d    0
	0000004a    0
	00000049    0
	00000048    0
	00000045    0
	00000044    0
	00000043    0
	00000042    0
	00000041    0
	00000040    0
	0000003f    0
	0000003e    0
	00000033    0
0000006e UplayWebCore.exe
	00000161    0
	00000136    0
	000000b9    0
	0000009e   -2
	0000009d    0
	0000009c    0
	0000009b    0
	0000009a    0
	00000099    0
	00000098    0
	00000097    0
	00000096    0
	00000095    0
	00000094    0
	00000093    0
	00000092   -2
	00000091   -2
	00000090    0
	0000008f    0
	0000006f    0
00000165 UplayWebCore.exe
	000000bb    0
	000001b9    0
	000001b6    0
	0000018b   -2
	0000018a    0
	00000189    0
	00000188    0
	00000187    0
	00000186    0
	00000185    0
	00000184    0
	00000183    0
	00000182    0
	00000181    0
	0000017f   -2
	0000017e   -2
	0000017d    0
	0000017c    0
	00000166    0
00000167 UplayWebCore.exe
	000001ba    0
	0000019f    0
	0000019b   -2
	0000019a    0
	00000199    0
	00000198    0
	00000197    0
	00000196    0
	00000195    0
	00000194    0
	00000193    0
	00000192    0
	00000191    0
	00000190    0
	0000018f   -2
	0000018e   -2
	0000018d    0
	0000018c    0
	00000168    0
00000073 (D) C:\Program Files\Ubisoft\Ubisoft Game Launcher\games\Assassin's Creed 1\AssassinsCreed_Dx10.exe
	000001b5    0
	000001b7    0
	00000180    0
	0000007d    0
	000000ad   -2
	000000a8   -2
	0000007e   -2
	000000a6   -2
	00000078    0
	0000005d    0
	000000a1    0
	00000137   15
	000000ba   15
	00000138    0
	00000076    0
	00000077    0
	00000074    0
	00000075    0 <==
	0000007c    0
	00000072    1
	0000007a    1
	0000007b    0
System information:
    Wine build: wine-4.0.1
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 4.19.0-5-amd64

Based on https://forums.tomshardware.com/threads/does-assassins-creed-work-on-windows-7-32bit.103522/ game supports 32-bit

Relevant: https://pastebin.com/iJ1suWX3

@ImperatorS79
Copy link
Contributor

Please run the game using a terminal (container tab->engine tool->open a terminal) to have the log too.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Please run the game using a terminal (container tab->engine tool->open a terminal) to have the log too.

Meh using system wine for testing, would use phoenicis if there was an option to get wine with preloads easily o.o

@ImperatorS79
Copy link
Contributor

Meh using system wine for testing, would use phoenicis if there was an option to get wine with preloads easily o.o

What does it ever means ? Also, since the script are done for phoenicis, you should test them as a regular phoenicis user.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Meh using system wine for testing, would use phoenicis if there was an option to get wine with preloads easily o.o

What does it ever means ? Also, since the script are done for phoenicis, you should test them as a regular phoenicis user.

For me to test it as phoenicis user i have to use env LD_LIBRARY_PATH=""something" LD_PRELOAD="something" WINEPREFIX="something" WINEDEBUG="something" /full/path/to/phoenicis/wine /full/path/to/winerprefix which is annoying -> using system wine instead.

@ImperatorS79
Copy link
Contributor

Why do you have to use such a command ?! I never do that.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Trying to add vcrun2005 and d3d10 -> No effect

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Why do you have to use such a command ?! I never do that.

So that it's using phoenicis instead of system?

@ImperatorS79
Copy link
Contributor

If you use Container->engine tools->open a terminal, the terminal will already have those var set and you are able to launch wine with wine.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

If you use Container->engine tools->open a terminal, the terminal will already have those var set and you are able to launch wine with wine.

ah didn't know that o.o ty

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

@ImperatorS79 i think that this is issue on my end since DXVK is trying to load iGPU, can you test on your end?

@ImperatorS79
Copy link
Contributor

No, I cannot.

@ImperatorS79
Copy link
Contributor

Please post the wine log and the dxgi and dxvk log if any.

@ImperatorS79
Copy link
Contributor

You might need

Run your game with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json for AMD 64 bit or with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json for nvidia.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

You might need

Run your game with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json for AMD 64 bit or with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json for nvidia.

Works now -> DXVK verb update is required

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Based on my few mins of gameplay game works no issue with said variable.

Blocked by #982 and Ready to merge after.

@plata
Copy link
Collaborator

plata commented Jun 6, 2019

Please set this to draft. Obviously, you did not test the script but only the game with system Wine which is irrelevant for this pull request. If the pull request is not opened as draft or at least stating that the script is untested, everybody will normally assume that it can be merged. If we cannot rely on this, we will have to simply close the pull requests to avoid that untested scripts show up in the repository.

This comment of course is applicable for any similar pull request.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Please set this to draft. Obviously, you did not test the script but only the game with system Wine which is irrelevant for this pull request. If the pull request is not opened as draft or at least stating that the script is untested, everybody will normally assume that it can be merged. If we cannot rely on this, we will have to simply close the pull requests to avoid that untested scripts show up in the repository.

This comment of course is applicable for any similar pull request.

AC I script tested, working, ready to merge.

It was expected from you to merge without test in testing so that they can be pushed further after, but i can make them working now and scripts are made based on my experience with all these games since it doesn't need any workarounds on my system..

If we cannot rely on this, we will have to simply close the pull requests to avoid that untested scripts show up in the repository.

97% of your repository are scripts that are not working, fixed Quick steam which still needs fix for starting the installation since users have to perform this manually now and fixed uplay which should work no issue.


btw still recommends rolling release since you are forcing stable which results in shit code in master and slow updates.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

or you can give me write access to scripts and watch the magic happend

@plata
Copy link
Collaborator

plata commented Jun 6, 2019

Meh using system wine for testing

Sorry if I'm wrong but how does this match with

AC I script tested, working, ready to merge.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

Meh using system wine for testing

Sorry if I'm wrong but how does this match with

AC I script tested, working, ready to merge.

using system wine for testing to make phoenicis script to be tested after in phoenicis, because i didn't know that i can export variables from phoenicis since you dont have documentation that informs about it.

@plata
Copy link
Collaborator

plata commented Jun 6, 2019

So you installed with the script and then tested from command line with system Wine? This information should definitely be part of the pr description. I probably makes sense to mark the script as "testing" because of this.
However, I agree that it's not a general show stopper which prevents us from merging.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jun 6, 2019

So you installed with the script and then tested from command line with system Wine? This information should definitely be part of the pr description. I probably makes sense to mark the script as "testing" because of this.
However, I agree that it's not a general show stopper which prevents us from merging.

Tested it ON PHOENICIS did research on system wine.

Depending on different system configuration there might be issues for which end-users can fill new issues since i'm not seting up unreliable VM to test them or making backend for multiple systems to test it.

Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Sep 13, 2019
Attempt to work around rendering issues.

As refferenced on PhoenicisOrg/scripts#978 uplay 
needs application settings on `winvista` for `upc.exe` and 
`UbisoftGameLauncher.exe` to avoid rendering issues 
(PhoenicisOrg/scripts#965 (comment)).

Signed-off-by: Jacob Hrbek <[email protected]>
Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Sep 13, 2019
Attempt to work around rendering issues.

As referenced on PhoenicisOrg/scripts#978 uplay
needs application settings on `winvista` for `upc.exe` and
`UbisoftGameLauncher.exe` to avoid rendering issues
(PhoenicisOrg/scripts#965 (comment)).

Signed-off-by: Jacob Hrbek <[email protected]>
Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Sep 13, 2019
Attempt to work around rendering issues.

As referenced on PhoenicisOrg/scripts#978 uplay
needs application settings on `winvista` for `upc.exe` and
`UbisoftGameLauncher.exe` to avoid rendering issues
(PhoenicisOrg/scripts#965 (comment)).

Signed-off-by: Jacob Hrbek <[email protected]>
Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Sep 13, 2019
Attempt to work around rendering issues.

As referenced on PhoenicisOrg/scripts#978 uplay
needs application settings on `winvista` for `upc.exe` and
`UbisoftGameLauncher.exe` to avoid rendering issues
(PhoenicisOrg/scripts#965 (comment)).

NOTICE: Outputs fatal error which is non-fatal, but i'm unable to stop 
it from appearing.

Signed-off-by: Jacob Hrbek <[email protected]>
Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Sep 14, 2019
Attempt to work around rendering issues.

As referenced on PhoenicisOrg/scripts#978 uplay
needs application settings on `winvista` for `upc.exe` and
`UbisoftGameLauncher.exe` to avoid rendering issues
(PhoenicisOrg/scripts#965 (comment)).

NOTICE: Outputs fatal error which is non-fatal, but i'm unable to stop 
it from appearing.

Signed-off-by: Jacob Hrbek <[email protected]>
Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Sep 14, 2019
Attempt to work around rendering issues.

As referenced on PhoenicisOrg/scripts#978 uplay
needs application settings on `winvista` for `upc.exe` and
`UbisoftGameLauncher.exe` to avoid rendering issues
(PhoenicisOrg/scripts#965 (comment)).

NOTICE: Outputs fatal error which is non-fatal, but i'm unable to stop
it from appearing.

Signed-off-by: Jacob Hrbek <[email protected]>
Kreyren pushed a commit to Kreytricks/kreytricks that referenced this pull request Oct 21, 2019
Attempt to work around rendering issues.

As referenced on PhoenicisOrg/scripts#978 uplay
needs application settings on `winvista` for `upc.exe` and
`UbisoftGameLauncher.exe` to avoid rendering issues
(PhoenicisOrg/scripts#965 (comment)).

NOTICE: Outputs fatal error which is non-fatal, but i'm unable to stop 
it from appearing.

Signed-off-by: Jacob Hrbek <[email protected]>
"id" : "applications.games.assassins_creed",
"description" : "Assassin's Creed is the next-gen game developed by Ubisoft Montreal that redefines the action genre. While other games claim to be next-gen with impressive graphics and physics, Assassin's Creed merges technology, game design, theme and emotions into a world where you instigate chaos and become a vulnerable, yet powerful, agent of change.<br><br>The setting is 1191 AD. The Third Crusade is tearing the Holy Land apart. You, Altair, intend to stop the hostilities by suppressing both sides of the conflict.You are an Assassin, a warrior shrouded in secrecy and feared for your ruthlessness. Your actions can throw your immediate environment into chaos, and your existence will shape events during this pivotal moment in history."
"description" : "Assassin's Creed is the next-gen game developed by Ubisoft Montreal that redefines the action genre. While other games claim to be next-gen with impressive graphics and physics, Assassin's Creed merges technology, game design, theme and emotions into a world where you instigate chaos and become a vulnerable, yet powerful, agent of change.<br><br>The setting is 1191 AD. The Third Crusade is tearing the Holy Land apart. You, Altair, intend to stop the hostilities by suppressing both sides of the conflict.You are an Assassin, a warrior shrouded in secrecy and feared for your ruthlessness. Your actions can throw your immediate environment into chaos, and your existence will shape events during this pivotal moment in history."
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this changed? As far as I can tell, only the "TM" has been removed. It doesn't make sense that we have to update all the translations just for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants