nucleuscoop icon indicating copy to clipboard operation
nucleuscoop copied to clipboard

Merging Bug Fixes and Updates

Open tbare598 opened this issue 7 years ago • 10 comments

This merge isn't quite ready, but I wanted to create the pull request to start a discussion on some of the changes that I made, whether they were right to do, or not. Also, some of the code changes that I made directly conflict with changes that were made to the main branch, while I was working on my fork, including fixes to the same bugs, but the manner in which fixes were made, were much different. So we will have talk about which fixes to keep, and whether they are the right fixes going forward.


Edit: The pull request is ready, and here are the notes for it:

Here are the bugs, I have fixed:

  • If a mutex had the number 3 or higher in the path, it wouldn't be removed.
  • The program was trying to kill mutexes on processes that no longer existed.
  • When using SmartSteamEmu, the steam ids were always the same, so some games would fail, when trying to play a game with a user with the same steam id.

Here are some enhancements I have made:

  • Left4Dead 2: Using the steam emulation, now allows the users to connect to each other's games, from within the game.
  • xinput folder allows users to share their controller profiles between games, much more easily.
  • Quicker game start up by removing a few unnecessary loops, and stopped the program from opening up ProcessUtils as a separate process.
  • Cleaned up some outdated comments
  • Added files to the .gitignore file, so that they won't be needlessly picked up in every commit. This also allows for cleaner merges.
  • When the link directories are created, the program will follow the paths and link all the files along each path.
  • New arguements to generic js files for better directory management.
  • The progam will now kill all game processes with the same name, before trying to open new game instances.
  • Added Earth Defense Force 4.1 to the game list

Below are my test results, after I merging all of the code, and as the code exists now. Some games, as noted, I do not own, and I was unable to test. Some other games did not work, but that is because they didn't even work before my code changes either.

  • Borderlands - Untested, I Don't Own This Game
  • Borderlands 2 - Working
  • Borderlands PreSequel - Working
  • Star Wars Battlefront 2 -

    Only player 1 opens. Screen resizes correctly, until the user navigates away from the main screen(when gameplay starts. Gamepad controls don't work correctly.

  • Earth Defense Force 4.1 - Works after manually changing settings.
  • Left 4 Dead 2 - Works but needs manual controller configuration until the xinput1_3.dll can be used to handle this.
  • Saints Row 3 - Can't get games to connect to each other.
  • Call of Duty: Black Ops - Untested, I Don't Own This Game
  • Call of Duty: Black Ops 2 - Untested, I Don't Own This Game

As for bringing the code changes into the main project branch, someone(probably lucasassislar), will have to rebase some of the commit revisions, so that the pull request, can be pulled in cleanly. Since lucasassislar made changes to the sames files as I did, there was going to be a number of conflicts. In an effort to make merging the pull request easier, I already took care of the conflicts, so we don't want git to try to merge the changes again. To merge my pull request, this will have to be done: Revision 4b93a9902fbeb2e54271ae5072f80abdb10347e9 will have to be changed to point to revision e2435d25285844b451399b272bebc8ac33aac958 as the next commit

tbare598 avatar Mar 06 '17 15:03 tbare598

Github recommends to ignore both *.VC.db and *.VC.VC.opendb.

Also, "Cleaning Up Some Code"... Shouldn't be like mentioned that you are also changing toolset version too?

mirh avatar Mar 06 '17 21:03 mirh

  • Okay, I'll add *.VC.VC.opendb to the ignore file.
  • My Visual Studios client must have changed the tooling version without me noticing. If you think it will be a problem, I don't mind changing it back.

tbare598 avatar Mar 06 '17 22:03 tbare598

Oh, no. VS 2015 is just fine for me. It's just it seemed rude to "hide" such a -remotely potential- huge change.

EDIT: then I dunno what is Lucas using.

mirh avatar Mar 06 '17 23:03 mirh

Oh, no. I didn't mean to seem rude at all. I really really really want to help with this project, if at all possible. I love split screen gaming.

tbare598 avatar Mar 06 '17 23:03 tbare598

LeftrDead2.js

mirh avatar Mar 12 '17 11:03 mirh

Opps. I pushed the fix for that comment. It now correctly says Left4Dead2.js

tbare598 avatar Mar 12 '17 18:03 tbare598

Okay, so the all of code from lucasassislar's project has been merged into my fork. Bugs and all. I cloned the current /lucasassislar/nucleuscoop project, and it looks like there was a bug introduced in the last commit with changing between the different types of same-screen split-screen. I'll fix that bug and add *.VC.VC.opendb to the .gitignore file as mentioned above, and then this pull request should be good to pull in.

tbare598 avatar Mar 16 '17 23:03 tbare598

MY BAD. I'm so so sorry, I wasn't keeping up with the Github page (in my mind I was trying to focus on giving feedback on the main subreddit and Discord channel). I just got back to reading all stuff here after I been notified, completely missed it :/

I'm taking a look at your changes and I can later discuss if you're still intersted.

distrohelena avatar May 23 '17 21:05 distrohelena

Really would like to see this merged if possible 👍

Jacalz avatar Apr 16 '18 12:04 Jacalz

for the games you dont own... dude, seriously. just pirate them. its only for testing purposes after all. no one needs to know. and you can delete this comment afterwards. they are old games anyway. or just buy them on a steam sale. they would be incredibly cheap already, and on sale would be super cheap. but at the end of the day, i am super happy with what you have done so far, it is absolutely amazing, thank you so much for this. you are a legend! :-)

wotever avatar Apr 11 '19 07:04 wotever