Calling all self-builders

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    #16
    Originally posted by Azerath
    No need for such feature as "unzip to desktop" works like you mentioned :>

    Additionally having central place for binaries and separate for user data will fail in multiuser environment when one of users would upgrade application.

    How it is solved in *NIX OSes? Does binaries are separated from user data? What happend when upgrading binaries to newer version?
    Unix distinguishes between "users" and "administrators". Only admins can upgrade software, so the problem does not arise. ISTR that Windows makes this distinction too - but the default permissions for a new user are admin permissions!

    I think this goes right back to the fact that Unix was always intended to be a multi-user system, so this kind of problem was foreseen. Windows was originally a single-user system, and multiple user functionality was added later - but all users expect to be able to upgrade software.
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

    Comment

    • nppangband
      NPPAngband Maintainer
      • Dec 2008
      • 926

      #17
      Originally posted by Magnate
      I don't know much about building on Windows - is it possible to change where the lib/ subdirs are installed to? So, for instance, if you want lib/save and lib/user in C:\Documents & Settings\Yourname\ and lib/edit and lib/help in C:\Program Files\Angband\, how do you make that happen? Anyone?
      Windows pretty much assumes it knows better than you and makes you do it their way. You could modify the Angband source with your desired path for the lib/save and lib/user directories and recompile.

      Without re-compiling, if you want to have your savefiles & user files in a separate place, I guess you move them there, and when you play Angband and open a character, you get a window that lets you browse for the savefile. You can navigate to the savefile folder and open it from there.
      NPPAngband current home page: http://nppangband.bitshepherd.net/
      Source code repository:
      https://github.com/nppangband/NPPAngband_QT
      Downloads:
      https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

      Comment

      • nppangband
        NPPAngband Maintainer
        • Dec 2008
        • 926

        #18
        My answer to the quiz is "none of the above". I only tinker with the Angband source when I am taking source code for NPP or doing a patch for Vanilla. In that case, I use eclipse as my editor and compile with Cygwin. I should switch to MinGW.
        NPPAngband current home page: http://nppangband.bitshepherd.net/
        Source code repository:
        https://github.com/nppangband/NPPAngband_QT
        Downloads:
        https://app.box.com/s/1x7k65ghsmc31usmj329pb8415n1ux57

        Comment

        • Max Stats
          Swordsman
          • Jun 2010
          • 324

          #19
          Originally posted by nppangband
          Windows pretty much assumes it knows better than you and makes you do it their way.
          No kidding, and it's even worse with Windows 7. More than once I have had it tell me that I don't have permission to delete a file, even though I am logged on to an account with Administrator privileges. I downloaded a "take ownership" script that is supposed to make you owner of an entire folder & subfolders, and sometimes even that doesn't work! To me, "administrator" means the equivalent of "root" in Unix, but apparently the Evil Empire doesn't see it the same way.
          If beauty is in the eye of the beholder, then why are beholders so freaking ugly?

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #20
            Originally posted by Max Stats
            No kidding, and it's even worse with Windows 7. More than once I have had it tell me that I don't have permission to delete a file, even though I am logged on to an account with Administrator privileges. I downloaded a "take ownership" script that is supposed to make you owner of an entire folder & subfolders, and sometimes even that doesn't work! To me, "administrator" means the equivalent of "root" in Unix, but apparently the Evil Empire doesn't see it the same way.
            This is the second main reason (after the appalling slowness of Vista and Win7) that I don't use any version of Windows beyond XP. The fact that they put huge amounts of effort into darkening the screen and popping up an "are you sure you know what you're doing?" dialog box every five seconds is enough to put me right off. Of course, you can change that default behaviour - but why should you have to just so that idiots can run bloatware?
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • Azerath
              Rookie
              • Jun 2011
              • 21

              #21
              About Windows and UAC (those popups for permissions) - Administrator account is "disabled" by default (at leat in Win7, don't remember Vista). Post installation user is part of "admiinstrators", but running with reduced permissions for typical daily work. Can be completly disabled easily.

              Honestly for me for last half year 99.9% of popup on Win7 triggered was by launching "setup" like "app".

              Similiar to me running *NIX - after years working on Win, so called user experience scares me :-( Ech... probably we could argue days for/against our OSes :-)

              But I'm not going to advocate to any of you for switching to Windows - your choice. Just keep in mind that there are other (non *NIX) OSes OR O$es ;-) and we don't have to express each time how all of us not like others :-)

              Comment

              • Magnate
                Angband Devteam member
                • May 2007
                • 5110

                #22
                Sorry, I got a bit vehement there (I find myself running "setup like app"s all the time so it's very frustrating). I didn't mean that Windows users are idiots, I meant that Microsoft wants to treat them like that.

                I'm aware that Windows has a lot of advantages of familiarity and ease of use, and I still use XP for almost all gaming.
                "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                Comment

                • Timo Pietilä
                  Prophet
                  • Apr 2007
                  • 4096

                  #23
                  Originally posted by Magnate
                  Unix distinguishes between "users" and "administrators". Only admins can upgrade software, so the problem does not arise. ISTR that Windows makes this distinction too - but the default permissions for a new user are admin permissions!
                  Anybody can run and upgrade and delete and so on programs they just plain run from directories they have full access, Angband place in that case would be in \Documents\angbandthisandthat -directory.

                  Angband doesn't require installation.

                  You could do an multi-user installation package from it, but for doing it properly does require that you create an .msi out of angband where angband compile puts /save/ and /bones/ in the user profile under local settings (non-roaming part in WinVista & 7, directory name is different). I don't know how to build such version of angband exe. I know how to make that an .msi.

                  Comment

                  • Magnate
                    Angband Devteam member
                    • May 2007
                    • 5110

                    #24
                    Originally posted by Timo Pietilä
                    Anybody can run and upgrade and delete and so on programs they just plain run from directories they have full access, Angband place in that case would be in \Documents\angbandthisandthat -directory.

                    Angband doesn't require installation.

                    You could do an multi-user installation package from it, but for doing it properly does require that you create an .msi out of angband where angband compile puts /save/ and /bones/ in the user profile under local settings (non-roaming part in WinVista & 7, directory name is different). I don't know how to build such version of angband exe. I know how to make that an .msi.
                    Oh wow, that's excellent. It should be easy enough to modify Makefile.win to build angband using local settings as you describe, so you could then build an msi for system-wide Windows installs. Not that there seems to be much of a market for those, but it's a nice idea.
                    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                    Comment

                    • Azerath
                      Rookie
                      • Jun 2011
                      • 21

                      #25
                      Still I would stick to read blog post from my previous and deicide what would fit the best.

                      About this "Documents" are you referring to Documents "library" feature that is sandboxed for each user? If so maybe we could reuse "Documents\My Games" folder that is for... save games and or per user game data ;-)

                      Additionally I would suggest to not hardcode folder/location name - it can be translated in non-en languages and or changed/relocated, etc. Just dig around MSDN and fide required function or method to universally retrieve interesting paths/names.

                      Just briefly read Windows Logo Something and you will see that there are a lot of things to make to be good Windows citizen.

                      I would stick to what is right now - Angband is small - takes probably less than fraction of percent of HDD, so "install by unzip" is OK, uless you target for broader set of users, then regular install package (use open source, MS WiX project to create installers) with proper updates, etc will be better option (and use special windows folder for those purposes)

                      Really, define scenario, vision goal, and the hammer can be found.

                      Comment

                      • Timo Pietilä
                        Prophet
                        • Apr 2007
                        • 4096

                        #26
                        Originally posted by Azerath
                        Additionally I would suggest to not hardcode folder/location name - it can be translated in non-en languages and or changed/relocated, etc. Just dig around MSDN and fide required function or method to universally retrieve interesting paths/names.
                        What you see in Win7/Vista UI as folder name is not the actual folder name if it is localized. Underlying core structure of the filesystem is same for all languages, you can see the real directory names from command line with some dir-command switch which I don't remember just now. 64 bit Win7 in particular is very good at telling people that it does something that it didn't really do, but did something else to keep you thinking that it did same thing as in older windowses. It gets really messy thing very fast to understand what it really going on inside it when you install old 32bit windows program in 64bit Win 7. What kind of magic tricks it does to run it just like it did in old 32bit XP.

                        Anyway windows installer does all kinds of magic with "special" folders automatically, I would only need to define that it goes to user profile under some directory and it does it correctly automatically without any unnecessary tweaking. Building a version of angband.exe that does refer to that directory dynamically would be a bit harder thing to do (I imagine). It would probably need to use some environment variable or WMI query for folder location. If we start to add WMI queries in angband code it changes things a lot more complicated than they are now.

                        I prefer we keep angband simple single-user system for now.

                        Comment

                        Working...
                        😀
                        😂
                        🥰
                        😘
                        🤢
                        😎
                        😞
                        😡
                        👍
                        👎