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

[WIP] En route to 0.4.7 #1113

Merged
merged 75 commits into from Oct 14, 2016

Conversation

Projects
None yet
4 participants
@only-a-ptr
Member

only-a-ptr commented Sep 5, 2016

Features:

  • Restored and enhanced multiplayer selector in main menu. Added direct connection feature.
  • Less shutdowns - RoR returns to menu instead. Scenarios: network connection failure, specifying non-existent map in ror.cfg, failure to load map.
  • New internal (unified!) game state mechanism. See [RoR|Globals] entries in ror.log
  • Improved system path configuration. RoR now detects all of it's paths itself and doesn't need RoR.cfg entries filled by RoRConfig.
  • Separate directory for screenshots.
  • Corrected game settings window. Most features work, the rest was hidden for further fixing.
  • RoR.cfg is no longer required to start RoR. RoR can start with defaults and write RoR.cfg on it's own.

Fixes: #43
Fixes: #41

@only-a-ptr only-a-ptr added this to the 0.4.7.0 milestone Sep 5, 2016

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Sep 16, 2016

Member

TODO list of bugfixes

Big thanks to Ulteq for thorough testing!

  • The chat box stays open when the remote server shuts down unexpectedly.
  • The chat box is visible in singleplayer mode
  • Networking: try this code #1113 (comment)
  • Restore "plugins.cfg" entry "PluginsFolder", needed on linux: #1113 (comment)
  • button CHANGEMAP hangs the game: #1113 (comment)
  • the "anyterrain -> load first found" glitch
  • "backToMenu" button grayed out: #1113 (comment)
  • network label issues: #1113 (comment)
  • The terrain selector Cancel (disconnect) button does not disconnect you from the server.
  • Reconnecting after server crash fails with Could not create connection. ---------------- for some reason, calling socket.disconnect() after server closed connection terminates the application. Thus you can't reconnect. This is something deep in socketW and I won't resolve it until 0.4.7. For now, I'll just make it say "Cannot recover from server disconnect. You must restart RoR"
  • the contents of the 'Enter IP' dialog should persist across sessions ------------ OK, I'll fill the filelds from gvars mp_server_host and mp_server_port and use RoR.cfg to persist them
  • (upstream) crash at startup - missing overlay elements: https://gitter.im/RigsOfRods/rigs-of-rods?at=57df4315fa660dd95fef9b31 (he probably did not copy the new resources)

[ulteq] Updated to reflect the changes in my fork of this branch.

Member

only-a-ptr commented Sep 16, 2016

TODO list of bugfixes

Big thanks to Ulteq for thorough testing!

  • The chat box stays open when the remote server shuts down unexpectedly.
  • The chat box is visible in singleplayer mode
  • Networking: try this code #1113 (comment)
  • Restore "plugins.cfg" entry "PluginsFolder", needed on linux: #1113 (comment)
  • button CHANGEMAP hangs the game: #1113 (comment)
  • the "anyterrain -> load first found" glitch
  • "backToMenu" button grayed out: #1113 (comment)
  • network label issues: #1113 (comment)
  • The terrain selector Cancel (disconnect) button does not disconnect you from the server.
  • Reconnecting after server crash fails with Could not create connection. ---------------- for some reason, calling socket.disconnect() after server closed connection terminates the application. Thus you can't reconnect. This is something deep in socketW and I won't resolve it until 0.4.7. For now, I'll just make it say "Cannot recover from server disconnect. You must restart RoR"
  • the contents of the 'Enter IP' dialog should persist across sessions ------------ OK, I'll fill the filelds from gvars mp_server_host and mp_server_port and use RoR.cfg to persist them
  • (upstream) crash at startup - missing overlay elements: https://gitter.im/RigsOfRods/rigs-of-rods?at=57df4315fa660dd95fef9b31 (he probably did not copy the new resources)

[ulteq] Updated to reflect the changes in my fork of this branch.

@AnotherFoxGuy

This comment has been minimized.

Show comment
Hide comment
@AnotherFoxGuy

AnotherFoxGuy Sep 22, 2016

Member

I just tested it, and already discovered some bugs:

  • The diff lock notification window doesn't appear anymore.
  • The same happens with the vehicle stats window.
  • Same for the FPS info.
  • Also for the screenshot infobox.
  • The vehicle infobox just shows Test.

[ulteq] I crossed out the ones which are already fixed.
[only_a_ptr] I crossed the last one; just fixed.

Member

AnotherFoxGuy commented Sep 22, 2016

I just tested it, and already discovered some bugs:

  • The diff lock notification window doesn't appear anymore.
  • The same happens with the vehicle stats window.
  • Same for the FPS info.
  • Also for the screenshot infobox.
  • The vehicle infobox just shows Test.

[ulteq] I crossed out the ones which are already fixed.
[only_a_ptr] I crossed the last one; just fixed.

@ulteq

This comment has been minimized.

Show comment
Hide comment
@ulteq

ulteq Oct 6, 2016

Contributor

Issues:

  • Settings menu seems to be broken -> empty fields and Error setting Ogre Values
  • RoRConfig and RoR produce different RoR.cfg layouts
Contributor

ulteq commented Oct 6, 2016

Issues:

  • Settings menu seems to be broken -> empty fields and Error setting Ogre Values
  • RoRConfig and RoR produce different RoR.cfg layouts
@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 6, 2016

Member

RoRConfig and RoR produce different RoR.cfg layouts

That's a temporary state until I finish only-a-ptr@ba41c90 (requested by #1070) and subsequently clean up all the mess in RoRConfig. It has no impact on functionality.

Settings menu seems to be broken -> empty fields and Error setting Ogre Values

Settings menu was never fully functional AFAIK (key mappings...) I'll take a quick look at it, but we might just as well completely disable it for 0.4.7 and then bring it back in working state.

The vehicle infobox just shows Test.

What box is that, exactly? The one you toggle with "T"? IIRC I fixed that...

Member

only-a-ptr commented Oct 6, 2016

RoRConfig and RoR produce different RoR.cfg layouts

That's a temporary state until I finish only-a-ptr@ba41c90 (requested by #1070) and subsequently clean up all the mess in RoRConfig. It has no impact on functionality.

Settings menu seems to be broken -> empty fields and Error setting Ogre Values

Settings menu was never fully functional AFAIK (key mappings...) I'll take a quick look at it, but we might just as well completely disable it for 0.4.7 and then bring it back in working state.

The vehicle infobox just shows Test.

What box is that, exactly? The one you toggle with "T"? IIRC I fixed that...

@ulteq

This comment has been minimized.

Show comment
Hide comment
@ulteq

ulteq Oct 6, 2016

Contributor

Settings menu was never fully functional AFAIK (key mappings...) I'll take a quick look at it, but we might just as well completely disable it for 0.4.7 and then bring it back in working state.

Sounds good.

Contributor

ulteq commented Oct 6, 2016

Settings menu was never fully functional AFAIK (key mappings...) I'll take a quick look at it, but we might just as well completely disable it for 0.4.7 and then bring it back in working state.

Sounds good.

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 12, 2016

Collaborator

Just compiled this PR. I removed my old .rigsofrods dir to start fresh. Opened RoRConfig and then Save and Play but i get:

loading cache...
unable to load config file: mods.cache
FATAL ERROR: An internal error occured in Rigs of Rods.
Technical details below:
You have no content installed

full log: http://pastebin.com/4Z5cWYfP

Collaborator

tritonas00 commented Oct 12, 2016

Just compiled this PR. I removed my old .rigsofrods dir to start fresh. Opened RoRConfig and then Save and Play but i get:

loading cache...
unable to load config file: mods.cache
FATAL ERROR: An internal error occured in Rigs of Rods.
Technical details below:
You have no content installed

full log: http://pastebin.com/4Z5cWYfP

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 12, 2016

Member

@tritonas00 Oops... It appears I juggled resource management too much. The correct order of events is this:

  1. update cache and write 'mods.cache'
  2. create/init resource group 'cache' so the file is picked up by OGRE's resource system
  3. try reading 'mods.cache' via OGRE's resource system.

Your ror.log indicates this order got broken somehow. Either RG 'cache' is init. too soon or too late.

Either way, it's my fault 😊

Member

only-a-ptr commented Oct 12, 2016

@tritonas00 Oops... It appears I juggled resource management too much. The correct order of events is this:

  1. update cache and write 'mods.cache'
  2. create/init resource group 'cache' so the file is picked up by OGRE's resource system
  3. try reading 'mods.cache' via OGRE's resource system.

Your ror.log indicates this order got broken somehow. Either RG 'cache' is init. too soon or too late.

Either way, it's my fault 😊

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 12, 2016

Collaborator

No problem, as soon as this is fixed i will try again.

Collaborator

tritonas00 commented Oct 12, 2016

No problem, as soon as this is fixed i will try again.

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 12, 2016

Member

@tritonas00 Uhh... it's even worse!

17:49:54:  * Loading input mapping input.map
17:49:54: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource input.map in resource group General or any other group. in ResourceGroupManager::openResource at /home/babis/Downloads/rigsofrods-next-build/ogre/src/ogre_src_v1-8-1/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
Member

only-a-ptr commented Oct 12, 2016

@tritonas00 Uhh... it's even worse!

17:49:54:  * Loading input mapping input.map
17:49:54: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource input.map in resource group General or any other group. in ResourceGroupManager::openResource at /home/babis/Downloads/rigsofrods-next-build/ogre/src/ogre_src_v1-8-1/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 12, 2016

Collaborator

Uhh... it's even worse!

RIP RoR? 😛

Collaborator

tritonas00 commented Oct 12, 2016

Uhh... it's even worse!

RIP RoR? 😛

@ulteq

This comment has been minimized.

Show comment
Hide comment
@ulteq

ulteq Oct 12, 2016

Contributor

Uhh... it's even worse!

This issue only occurs if you manually delete the RoR.cfg, or the User Path entry in the RoR.cfg.

Contributor

ulteq commented Oct 12, 2016

Uhh... it's even worse!

This issue only occurs if you manually delete the RoR.cfg, or the User Path entry in the RoR.cfg.

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 12, 2016

Collaborator

@ulteq re-adding User Path fixed the problem 👍

Collaborator

tritonas00 commented Oct 12, 2016

@ulteq re-adding User Path fixed the problem 👍

@ulteq ulteq referenced this pull request Oct 12, 2016

Closed

Particles aren't working #1147

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 12, 2016

Member

@ulteq re-adding User Path fixed the problem 👍

That's BAD! 👎 It means my new path management system isn't doing it's job. It's probably working, I just didn't replace all uses of the old system.

In upstream, RoR.cfg has "User Path" set from RoRConfig, but it also auto-detects and overwrites it on startup. I changed that to auto-detect only and fill a GVar, but I forgot to read the GVar 😊

@ulteq setupPaths() doesn't exist anymore, but we have an equivalent. Don't worry about it for the moment, I'll fix all of it tonight

Member

only-a-ptr commented Oct 12, 2016

@ulteq re-adding User Path fixed the problem 👍

That's BAD! 👎 It means my new path management system isn't doing it's job. It's probably working, I just didn't replace all uses of the old system.

In upstream, RoR.cfg has "User Path" set from RoRConfig, but it also auto-detects and overwrites it on startup. I changed that to auto-detect only and fill a GVar, but I forgot to read the GVar 😊

@ulteq setupPaths() doesn't exist anymore, but we have an equivalent. Don't worry about it for the moment, I'll fix all of it tonight

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 12, 2016

Collaborator

I choose Texture filtering None, disable HQ reflections and enable Skidmarks in RoRConfig

Then i open RoR and close it, the settings are back to defaults again (Trilinear, enabled HQ reflections and disabled Skidmarks)

Also changing Texture filtering settings seems to have no effect Nice catch, fixed. Mode "none" was ignored -> fallback to default "Trilinear" ~ ptr

Collaborator

tritonas00 commented Oct 12, 2016

I choose Texture filtering None, disable HQ reflections and enable Skidmarks in RoRConfig

Then i open RoR and close it, the settings are back to defaults again (Trilinear, enabled HQ reflections and disabled Skidmarks)

Also changing Texture filtering settings seems to have no effect Nice catch, fixed. Mode "none" was ignored -> fallback to default "Trilinear" ~ ptr

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 12, 2016

Member

This issue only occurs if you manually delete the RoR.cfg, or the User Path entry in the RoR.cfg

The goal is to make RoR independent on RoRConfig. It should write RoR.cfg on it's own when none is found.

Member

only-a-ptr commented Oct 12, 2016

This issue only occurs if you manually delete the RoR.cfg, or the User Path entry in the RoR.cfg

The goal is to make RoR independent on RoRConfig. It should write RoR.cfg on it's own when none is found.

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 13, 2016

Collaborator

The You have no content installed error is now fixed and also Texture filtering None works fine.

Still the graphics settings revert to defaults in RoRConfig when i start and close RoR.

Collaborator

tritonas00 commented Oct 13, 2016

The You have no content installed error is now fixed and also Texture filtering None works fine.

Still the graphics settings revert to defaults in RoRConfig when i start and close RoR.

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 13, 2016

Member

Still the graphics settings revert to defaults in RoRConfig when i start and close RoR.

I need details. Do you mean renderer settings from "ogre.cfg", or gfx settings from "RoR.cfg"?

For renderer settngs, edit them in RoR, save and check ogre.cfg. Maybe it doesn't save right.

If you mean gfx settings, which?

Member

only-a-ptr commented Oct 13, 2016

Still the graphics settings revert to defaults in RoRConfig when i start and close RoR.

I need details. Do you mean renderer settings from "ogre.cfg", or gfx settings from "RoR.cfg"?

For renderer settngs, edit them in RoR, save and check ogre.cfg. Maybe it doesn't save right.

If you mean gfx settings, which?

@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 13, 2016

Collaborator

I mean settings in the Graphics tab in RoRConfig.

Example 1:

Open RoRConfig, go to Graphics tab and set Texture filtering to None
Press Save and Play, the setting is respected. Quit RoR.
Now open again RoRConfig: the setting is back to Trilinear.

Example 2:

Open RoR, go to Settings -> Graphics and set Texture filtering to None and Save. RoR asks for restart, so re open RoR: the setting is back to Trilinear.

Collaborator

tritonas00 commented Oct 13, 2016

I mean settings in the Graphics tab in RoRConfig.

Example 1:

Open RoRConfig, go to Graphics tab and set Texture filtering to None
Press Save and Play, the setting is respected. Quit RoR.
Now open again RoRConfig: the setting is back to Trilinear.

Example 2:

Open RoR, go to Settings -> Graphics and set Texture filtering to None and Save. RoR asks for restart, so re open RoR: the setting is back to Trilinear.

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@tritonas00

This comment has been minimized.

Show comment
Hide comment
@tritonas00

tritonas00 Oct 13, 2016

Collaborator

Same thing happens also to checkboxes (Graphics tab in RoRConfig):

Particle Systems;HQ reflections;Skidmarks Fixed ~ptr

and the Screenshot Format selector


Other issue: When i press save in RoR Settings, an input.map file appears in my home directory instead of .rigsofrods/config/ Fixed. ~ptr

Collaborator

tritonas00 commented Oct 13, 2016

Same thing happens also to checkboxes (Graphics tab in RoRConfig):

Particle Systems;HQ reflections;Skidmarks Fixed ~ptr

and the Screenshot Format selector


Other issue: When i press save in RoR Settings, an input.map file appears in my home directory instead of .rigsofrods/config/ Fixed. ~ptr

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 13, 2016

Member

Particle Systems

Apparently in RoRConfig, only case sensitive "Yes" means yes: https://github.com/RigsOfRods/rigs-of-rods/blob/master/source/configurator/Configurator.cpp#L2251
Trouble is, I've been stuffing "0" or "1" in there 😁

I'm assuming the other fields have a similar issue.

Member

only-a-ptr commented Oct 13, 2016

Particle Systems

Apparently in RoRConfig, only case sensitive "Yes" means yes: https://github.com/RigsOfRods/rigs-of-rods/blob/master/source/configurator/Configurator.cpp#L2251
Trouble is, I've been stuffing "0" or "1" in there 😁

I'm assuming the other fields have a similar issue.

only-a-ptr added some commits Aug 14, 2016

[Multiplayer] Now you can join/leave multiple times
Previously, the game would hang on second connection attempt due to badly implemented disconnection.
[Multiplayer] Error handling improved (less shutdowns)
Any error during multiplayer join will now return user to main menu instead of shutting down RoR.
@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr

only-a-ptr Oct 14, 2016

Member

TODO (stuff that's left)

  • (Ulteq) Main menu is positioned differently from pause menu - minor, and personally I prefer it this way.
  • (Tritonas00) Sound Volume (slider) in Advanced tab in RoRConfig - reverts to 100% and 1% on RoR restarts
  • (Tritonas00) the Screenshot Format selector - setting resets to default in RoRconfig.
  • (Ulteq, only_a_ptr) Something in RoR.cfg causes RoR to run at around 9FPS, even in menu, although both CPU and GPU are almost idle.

Did I forget anything? Anyway, I think those are minor bugs and this PR is ready EDIT: okay, isn't 😊

Member

only-a-ptr commented Oct 14, 2016

TODO (stuff that's left)

  • (Ulteq) Main menu is positioned differently from pause menu - minor, and personally I prefer it this way.
  • (Tritonas00) Sound Volume (slider) in Advanced tab in RoRConfig - reverts to 100% and 1% on RoR restarts
  • (Tritonas00) the Screenshot Format selector - setting resets to default in RoRconfig.
  • (Ulteq, only_a_ptr) Something in RoR.cfg causes RoR to run at around 9FPS, even in menu, although both CPU and GPU are almost idle.

Did I forget anything? Anyway, I think those are minor bugs and this PR is ready EDIT: okay, isn't 😊

only-a-ptr and others added some commits Oct 13, 2016

[Fix] Game settings/inputmap handling
Input mapping was temporarily disabled by previous commit, but some interference remained.
@ulteq

This comment has been minimized.

Show comment
Hide comment
@ulteq

ulteq Oct 14, 2016

Contributor

Sound volume slider fix: ulteq@f17432d
Screenshot selector fix: ulteq@d479f0e
Pause menu position fix: ulteq@8f76363

Something in RoR.cfg causes RoR to run at around 9FPS, even in menu, although both CPU and GPU are almost idle.

I can't reproduce it anymore.

Contributor

ulteq commented Oct 14, 2016

Sound volume slider fix: ulteq@f17432d
Screenshot selector fix: ulteq@d479f0e
Pause menu position fix: ulteq@8f76363

Something in RoR.cfg causes RoR to run at around 9FPS, even in menu, although both CPU and GPU are almost idle.

I can't reproduce it anymore.

@only-a-ptr

This comment has been minimized.

Show comment
Hide comment
@only-a-ptr
Member

only-a-ptr commented Oct 14, 2016

:shipit: ?

@ulteq

This comment has been minimized.

Show comment
Hide comment
@ulteq

ulteq Oct 14, 2016

Contributor

:shipit:

Contributor

ulteq commented Oct 14, 2016

:shipit:

@only-a-ptr only-a-ptr merged commit 07cde79 into RigsOfRods:master Oct 14, 2016

1 of 2 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment