Skip to content
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

Overhaul process and gui for setting up/connecting to a server #93

Open
ofoxsmith opened this issue Nov 22, 2022 · 11 comments
Open

Overhaul process and gui for setting up/connecting to a server #93

ofoxsmith opened this issue Nov 22, 2022 · 11 comments
Assignees
Labels
enhancement New feature or request. This will increase MINOR version number, when merged into develop. rework Predicts breaking changes. This will increase MAJOR version number, when merged into develop.

Comments

@ofoxsmith
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
The process for entering server details, viewing server statistics, and starting/connecting to a server is not very intuitive. The setup process is split between mod settings and NoitaMP GUI. In addition, the buttons for Start Server and Connect to Server are not clearly marked - I first missed them when going over the GUI.

Describe the solution you'd like
Moving the majority of NoitaMP config to use the in-game NoitaMP gui. In addition, we could also add a setup wizard that walks someone through the process of creating and starting a server, as some users may not understand the technical details used during connection.

Additional context
@Ismoh mentioned this before - Since NoitaMP is an unsafe mod we should switch to using ImGUI.

@ofoxsmith ofoxsmith added enhancement New feature or request. This will increase MINOR version number, when merged into develop. rework Predicts breaking changes. This will increase MAJOR version number, when merged into develop. labels Nov 22, 2022
@ofoxsmith
Copy link
Collaborator Author

Might create breaking changes depending on how we change the setup process.

@ofoxsmith ofoxsmith moved this to 📋 Backlog in NoitaMP Nov 22, 2022
@Ismoh
Copy link
Owner

Ismoh commented Nov 22, 2022

Caption this!
Dude, awesome! I am happy to see this!

Noita ModSettings are horrible. Not reliable and pretty annoying to go into mod settings menu to change ip for example.
Initial reason for this was, that we arent able to type when in a run, unless we are using unrestricted mode. As we do.
I tried EZGUI, but it's abandoned and not really user friendly or better to say easy to implement.

ImGui is the way to go!

There will be breaking changes, that for sure!

In addition:
Setup wizard is planned to use. Simple as that:

server

  1. Server or Client?
  2. Server! Choose port:
  3. Port chosen: 1337
  4. Start server and tell your friends (hidden ip - will be shown when clicked. Copied to clipboard by default)

client

  1. Client or Server?
  2. Client! Paste ip and port!
  3. Pasted!
  4. Have fun!

ModSettings will be moved to a lua file: config.lua

@Ismoh Ismoh added this to the Synchronisation milestone Nov 22, 2022
@Ismoh
Copy link
Owner

Ismoh commented Mar 4, 2023

As we discussed, we're going to use GusGui instead of imGui, because imGui is pretty much a huge overhead:
https://discord.com/channels/747169041457872917/1031679439274246195/1081343753299689482

@Ismoh
Copy link
Owner

Ismoh commented Apr 3, 2023

Overwrite error with a custom error,

  • which checks if logger mod is installed, if not do so, if yes continue, if not enabled enable it save and quit restart
  • shows ui hint, which tells the player that noitamp internally died
  • and if the player want to report a bug
  • when clicking on report bug logger.txt will be opened for easy copi pasta!

@Ismoh
Copy link
Owner

Ismoh commented Apr 3, 2023

Can we type with gusgui? Like cheatgui maybe, because people are used to it?
There is a hint icon like i when showing or typing ip Address (which is hidden), like: streamer tip: you can change your ip settings in file explorer for not spoiling your ip, BUT don't change anything else in the file or don't change ips when server is running or connected tona server!

In addition, we need our custom modsettings ui!

@ofoxsmith
Copy link
Collaborator Author

Can we type with gusgui? Like cheatgui maybe, because people are used to it?

I've been working on more advanced features for when unsafe is enabled so there is typing.

@Ismoh
Copy link
Owner

Ismoh commented May 18, 2023

https://github.com/dextercd/Noita-Dear-ImGui
https://github.com/ocornut/imgui/tree/master/docs contains the actual imgui docs and how to use it

@Ismoh
Copy link
Owner

Ismoh commented May 18, 2023

93 based on 67 branch

@Ismoh
Copy link
Owner

Ismoh commented May 19, 2023

If I remember correctly NSEW only works on noita.exe and in addition to that noita_dev.exe keeps being slow af!
For testing we need two noita instances. I already began to convert some ModSettings into NoitaMPSettings. I am going to prepare some changes to be able to have our own mod settings named 'CustomModSettings.lua' which overwrites NoitaAPI ModSetting.. functions to save and load NoitaMP settings in a different file called 'settings.lua' per processId, because if there are two noita.exe instances, both uses the same NoitaAPI ModSettings.. where GUID is stored and then networking is going crazy.

This is why it would be good to start with some ugly and simple imGui text inputs for player name and other settings.
Afterwards server start and Client connect can be implemented with imGui.

@Ismoh Ismoh closed this as completed May 20, 2023
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in NoitaMP May 20, 2023
@Ismoh Ismoh reopened this May 20, 2023
@Ismoh
Copy link
Owner

Ismoh commented Oct 1, 2023

Already done in #67. Double check this branch, when #67 was merged into develop.

@Ismoh
Copy link
Owner

Ismoh commented Feb 17, 2024

Should already be done in #133, besides overwritten error function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request. This will increase MINOR version number, when merged into develop. rework Predicts breaking changes. This will increase MAJOR version number, when merged into develop.
Projects
Status: Done
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants