Code Monkey home page Code Monkey logo

Comments (5)

skyfox69 avatar skyfox69 commented on September 2, 2024

Separating settings into a per-version registry sounds great. One thumb up for this!

Next to your 'Restore Defaults' I suggest a 'settings copy' from actual version to new version when creating registry entries for the new version. By this the user doesn't have to setup again and again with every new version. @jonwd7 And I think there's much to come since you're in charge now ;-)

from nifskope.

hexabits avatar hexabits commented on September 2, 2024

@skyfox69 Yeah, you can see the old migration code in 2862caa ... I think that maybe instead of keeping some settings (texture paths) version independent, that they could still all get migrated, but if you don't want some portion coming over to the new version, you can restore defaults to just that tab/category.

So maybe instead of just one Restore (All) Defaults, it's split out into one Restore per settings section. Only issue is that some of the registry keys have no explicit representation in the UI, e.g. Render View defaults. So in the Render settings tab it may have to be clarified that Restore Defaults also clears camera defaults. Or actually include options for the default camera mode / position (but that's for another issue # 😄)

Then of course in addition to Restore Defaults per tab, have a Restore All for the lazy. 😉


Another Idea: Have settings per game/install? I'm not well versed with Windows installers, but I would assume it's feasible. I'm not sure what happens currently, when you try to install NifSkope more than once in different locations.

The installer could act similarly to 3ds Max plug-in installers, where you check each version you want to install for...

from nifskope.

neomonkeus avatar neomonkeus commented on September 2, 2024

NifSkope already has some auto-detection of game installs so you could look into that. I don't know what installer is used by NifSkope but I suspect that it is NSIS which is horrible to code.

But I suppose it is also a case of how easy it is to add new games and maintain that system as users tend to install in non-default locations

from nifskope.

hexabits avatar hexabits commented on September 2, 2024

Noting here that we've discussed having one single dev-specific registry entry created when using dev builds, regardless of version.

That way dev builds can be messed with without ruining your settings for the official release.

from nifskope.

hexabits avatar hexabits commented on September 2, 2024

Also, there's a typo for a registry entry. When list mode = "hirarchy". Inconsequential, but I wanted to note it here.

I was thinking that the registry entry should include the install path for the EXE. I noticed that the application awkwardly searches for some things like the XML files, the shaders/lang folders, etc. It should first look in the current application directory, then look for the install path in the registry.

This would also help when the EXE is outside of its normal location like when we do dev builds, though we could still integrate post-build processes into the NifSkope.pro file to copy those files over.

from nifskope.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.