Перейти к содержимому

Фотография

Prototype application launcher i'd like some input on


  • Пожалуйста, авторизуйтесь, чтобы ответить
23 ответов в этой теме

#1
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
This is a early stage alpha of this project, which is aimed at improving aspects of the game for players. A goal is to make some things which are complicated - just to be easy. It is by no means complete, and if all it does is inspire some other project then it is a success.

( note despite it's appearance, this is a windows app, just did a screen shot running it on the mac )
Posted Image

My focus is mainly on figuring out a interface that works well, and i am for the most part only able to control what happens prior to starting the app, but i have complete control of the player folder and configuration files which lets me implement things you just can't do in game.

  • Convenient launcher which can replace the stock launcher that comes with the game.
  • Ability to launch NWN1 apps ( not tested, but goal is convenience ) and eventually implement similar features for NWN1 of content management and user folders.
  • Ability to easily use the client extender ( by skywing ), and have a choice of full screen or windowed mode
  • Ability to manage running the NWNx server which adds countless features, in a way that does not require a doctorate in computer programming after i finish the ability to edit the ini files. I am thinking to really push the boundaries of what is possible, to make a SP game actually run as a multiplayer game just to allow access to many NWNx features. ( It would for all intents and purposes be just like a SP game, except it would have hundreds of added script functions, events and other things which are currently only available on a MP game, and i suspect would perform way better since it would utilize effectively 2 cores on a users system )
  • Issues related to configuring things for new players, tools to easily do things requests in tech support like installing .Net, directx 9, links to upgrade to the latest expansion, IRC channel and tech support forums.
  • Figure out how to do camera settings so the "default" a new player starts the game with end up being something they like, perhaps having buttons named "Like NWN1" or "Like WoW".
  • Eventually: able to manage custom content for the player in a completely dynamic manner that does automated merging. ( much of the groundwork is implemented, but needs a logical interface to make it easy for the user )
  • Eventually: Ability to act as a installer for a single player module maker, where the player can use recommended choices or vary things as they see fit without it completely destroying things.
  • Eventually: Ability to help tech support issues, ie the app can check if you have DirectX 9 and if not present presents a button to install it. Also collects information on video cards, cpu, memory and the like, and any debug crash logs, which all can be used by others to help investigate issues in the game.

Download NWNX.zip ( extract in the root of your C: drive as tested, but may or may not work in other locations )

The main thread for this is at the citadel, so if you are part of that community please post over there where there is already some discussion going on.

Сообщение изменено: painofdungeoneternal, 28 Август 2011 - 06:02 .


#2
kevL

kevL
  • Members
  • 4 052 сообщений

painofdungeoneternal wrote...

  • Ability to manage running the NWNx server which adds countless features, in a way that does not require a doctorate in computer programming after i finish the ability to edit the ini files. I am thinking to really push the boundaries of what is possible, to make a SP game actually run as a multiplayer game just to allow access to many NWNx features. ( It would for all intents and purposes be just like a SP game, except it would have hundreds of added script functions, events and other things which are currently only available on a MP game, and i suspect would perform way better since it would utilize effectively 2 cores on a users system )

This ( reflecting MC at the Citadel ) interested.


+1

#3
kamal_

kamal_
  • Members
  • 5 235 сообщений
I've tried this. There are two small bugs, but it works as advertised on Win 7, 64 bit. Worked fine at C:\\ and from my desktop.

#4
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
Updated Version
  • Largely working launcher for NWN2, NWN1, Client Extension which a player in SP, or on a PW would use.
  • Added proper core support, checks how many cores you have up to 4, and allows you to specify the core the game runs at, and this now seems to be working for just the game.
  • Added a memory of preferences chosen, when you restart the app it will remember what options you chose before.
  • Added tab to include log of actions and activity, and also some feedback ( it says if process got started or not but generally it just says it started ) Check box option will make it open the log's tab when app is opened, which seems to improve feedback. ( was hoping to get teh client extension dos window embedded in my app for easier copy paste but don't think that will be as easy to accomplish )
  • Fixed issue where "Play" button would disable when launching game until restarting the app.


#5
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
Alpha Mockup NeverLauncher 1.0

Download Never Launcher

Newest Features and fixes 12-26-2011

Game Configuration Management
  • Camera Settings provided by Kevl should really improve default camera setting if you choose to use them. Allows storage of configurations and storage.


    General usability and tech support
    [list]
  • Added Cd key editor aimed at those using steam. It seems to work, but unable to properly test how it works when you need to authenticate on windows 7, and also don't have steam. Please backup the cd key before using if you don't have a copy safe somewhere as it's untested. It should work as is, but I am making assumptions, and the registry key for the location for Neverwinter Nights 2 is required. ( also useful just to see what your keys are ) Would appreciate feedback for this from various users.

    ( the goal here is that Steam users, if they want to play on multiplayer they can just open "never launcher", hit the install tab, hit "Edit NWN2 CD keys", then open their info in gamespy which lists those CD Keys and copy them one by one into the CD key fields. Then the user hits save and the proper nwncdkey.ini file is created in the proper location and they can just play. )
  • Added button named "Get System Specs" which retrieves some system information, runs DxDiag and creates a text file you can copy paste the contents of when doing a technical support request with it mostly filled in or send to someone with your email. This should help those providing technical support with more accurate and detailed information.
  • Install Tab is heavily upgraded, and is for the most part entering beta stage as it's feature complete. Has buttons for all the required libraries users and pw admins might need to install.

NWNx
  • Recompiled all the NWNx plugins except the ones provided by skywing, including xp_craft and xp_system.
  • More options added to xp_fix plugin which is largely my packaging the work done by Arpl, and the guidance by Zebranky and Peachykeen. It has ini options to enable or disable the fix that removes the cap put on dodge and ability scores ( see xp_fix.ini ). Adjusting campaign settings to allow level 40 and 780000 experience also allows leveling up to level 40. Still need to verify the features beyond the level 40 cap fix. ( source code was shared with the NWNX team for their review and if approved put into the official NWNx source. )
  • Added -inifile parameter to NWNx - mainly to allow my own on the fly ini changes to not affect the provided ini files, and to allow multiple configurations to be exchanged easily. Mostly this can be ignored but it's something I need personally to make "Never Launcher" capable of easily controlling NWNx.


Game Listings
  • Added listing of single player modules "All NWN2 Modules Together" per http://social.biowar...-3122312-1.html which is configured via a 2da file named CompleteModules.2da - if your module is not listed or you are adding something please let me know so i can update this. Clicking on a row opens up the vault page so you can download it. This is an area which i am looking at adding more features to and is currently more of a proof of concept.

    ( this is for NWN1 at the moment, need to build a 2da for the NWN1 games )
  • Multiplayer listing uses gslist.exe ( which was created by by Luigi Auriemma ) and has field for entering gamespy queries. Edits to this field are stored. Note that when this list updates you have to wait until it's finished, and it takes a few minutes to query all the returned servers. This shows the current number of players on each world, expansions, and map names. The query can be used to just show a specific server, or all servers with more than 0 players, or all servers with more than 5 players. This is an area which i am looking at adding more features to and is currently more of a proof of concept.

    For my own PW
    ( hostname LIKE %Eternal% )

    To query by number of players
    ( numplayers > 0 )

    Syntax:
    Wildcard is %
    Operators: <>, !=, >=, !<, <=, !>, =, <, >, (, ), +, -, *, /, %, AND, NOT, OR, LIKE, NOT LIKE, IS NULL, IS NOT NULL
    Fields: hostaddr, hostport, gamever, country, hostname, mapname, gametype, gamemode, numplayers, maxplayers, password,groupid,levelrnglow, levelrnghigh, PVP, onepartyonly, playerpause, build, details, legalchars, itemrestrict, localvault, expansions, location, language,moduleurl, pwcurl


    More Examples provided by Luigi:
    ((hostname LIKE '%Bob%') AND (country='US'))
    (gamever LIKE '%1.00.06%')

    Note this feature works for both NWN1 and NWN2 - use the selector on the "play" tab to change which it shows, and compare the two.
  • You can use the gslist.exe at the command line to show all information on a single server, or for other purposes, and i have a version compiled for OS X as well )
    c:\\NWNx\\Tools\\gslist.exe -I 127.0.0.1 5121

    This isn't really a feature, but a side effect.


Still working on the features to allow dynamic ini file adjustment, such as camera and server configuration, and selecting a module to use from the pulldown menu so it actually relates to what you are doing when you hit play. ( right now these features don't do anything and using NWNx requires adjusting the provided ini files, i hope to make this much easier so end users who want to play SP modules and LAN games can use the added stability and improved features that NWNx offers. )

Сообщение изменено: painofdungeoneternal, 31 Январь 2012 - 10:14 .


#6
MasterChanger

MasterChanger
  • Members
  • 686 сообщений
Pain,

Wonderful, wonderful work. The ability to assemble content as you like and the ability to run SP games using NWNX with less fuss would be revolutionary for this game. Right now, I keep separate Client Extender shortcuts with various -home paths for the different modules I have on-going playthroughs for (with their separate MyDocs/NWN2 setups). Folding this all into one application where you can more easily select the folder every time would be great.

One quick question: right now the Hosting Configuration--Module list (on the Play tab) seems to list only .mods in your player folder. Any chance that this could be expanded to include directory mode modules?

Also, I finally figured out what the icon for NeverLauncher is supposed to be. I kept seeing a bug-eyed monster. Is it supposed to be a NWN background with a pink battle-axe over it? Cute! :D

Again, great work.

#7
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
The modules listed are just for getting that working and does not actually do anything at the momen, it needs saved games directories, campaigns, and to regenerate whenever you change the current player folder. Very little use until i get those tied into something else. Probably is going to look different by the time i get it working.

The -home short cuts are at the moment completely replaced by my current features. You will have to add configurations for each player folder you are using, then you can select them in the menu as desired. The open player folder button will open which ever the current player folder is, as do most of the features.

The icon is from the Thayan Gladiator, which i did an icon for ladydesire's class pack a long time ago, dropped on top of the nwn2 icon like you noticed.

Сообщение изменено: painofdungeoneternal, 07 Ноябрь 2011 - 01:09 .


#8
nicethugbert

nicethugbert
  • Members
  • 5 209 сообщений
NEAT!

#9
moodymage

moodymage
  • Members
  • 19 сообщений
I'm probably sounding like a goon but I don't how to install this and am slightly intimidated by all of the files present... Is there an idiots guide that I can take a look at?

#10
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
Unzip it... and then just run the app, it's all self contained in the folder. 
( i am using it in the root of the C: drive, so not sure if it will have issues other places )

Use it as is does not need to be "installed", just unzipped and used, all those files are support files, just run the actual application in the folder.

Сообщение изменено: painofdungeoneternal, 02 Март 2012 - 05:29 .


#11
moodymage

moodymage
  • Members
  • 19 сообщений
That worked - thanks!

One issue I did notice. The 'block gamespy authentication' button worked perfectly the first time I used it - until I closed the Never Launcher and opened it again. Now it never bypasses that step - even if I select it again.

Also is there an option which determines how long you need to hold down right click over an item to pull up the menu (to bash locked chests etc...)? Since using the launcher it seems to have increased a couple of seconds.

Also although my CD keys work fine (through Steam) when I edited the CD Keys option the MotB box was greyed out and wouldn't accept info even via paste/Ctrl+V. The other two are fine.

Сообщение изменено: moodymage, 05 Март 2012 - 04:13 .


#12
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений

moodymage wrote...
One issue I did notice. The 'block gamespy authentication' button worked perfectly the first time I used it - until I closed the Never Launcher and opened it again. Now it never bypasses that step - even if I select it again.

It only has to be hit once, then it's permament and it's showing that it's been applied. Note latest client extension ( mine is actually no longer totally up to date anymore ) fixes it as well so you don't have to run that.

Also is there an option which determines how long you need to hold down right click over an item to pull up the menu (to bash locked chests etc...)? Since using the launcher it seems to have increased a couple of seconds.

In the camera settings, it's called "context menu delay" on the right side. 

Which correlates to the following ini setting.
nwn2player.ini
[Game Options]
ContextMenuDelay=0.01

Also although my CD keys work fine (through Steam) when I edited the CD Keys option the MotB box was greyed out and wouldn't accept info even via paste/Ctrl+V. The other two are fine.

Thanks, was an easy fix to a dumb mistake, had that field set as read only.

#13
moodymage

moodymage
  • Members
  • 19 сообщений

It only has to be hit once, then it's permament and it's showing that it's been applied. Note latest client extension ( mine is actually no longer totally up to date anymore ) fixes it as well so you don't have to run that.

Bizarre, not too sure how to resolve that then as it certainly isn't working. I'll take a look at my hosts file when I get home to see what it says.

I could never get the fix to work even when I was editing the file manually before your launcher.

#14
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
Try the latest client extension by skywing as that is a better fix anyway ( it's in the folder "ClientExtender" inside my app but an older version, you can just replace those files and my launcher will use it. )

#15
The Fred

The Fred
  • Members
  • 2 516 сообщений
Pain, what sort of system are you using for automatically merging stuff, and how far have you got with it? I know I suggested a while ago that we adopt some sort of such system, but alas I didn't really have the time or skills to build something worthwhile myself (I made a sort of proof-of-concept, but it lacked a lot). I'd be interested to hear what direction you're thinking of going with it.

#16
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
It's already basically set up - i have a language which i use to create and adjust 2da files, and i can create a diff file in that language. Tlk files also have a diffing mechanism and i store tlk entries in individual plain text files. It's completely transparent to the end user, you don't need to know the lanugage at all, just provide your conflicting 2da and tlk files and you get a result that is a composite.

I've been using this to manage my PW for years, and i can merge in all of kaedrins 2da changes within minutes -- even though i prefer to instead read those diff files and apply them one at a time just to keep things from getting out of control. Since it's a diff, these work on ANY version of NWN2, you just need the version the developer used to make those original 2da's and diff from those, and then apply those changes to the current version.

Since it is a language, if you have a complex problem ( for example your mod sets or unsets a single bit in an entire column, or sets an entire column to **** ), it allows developers more options, and even has language constructs when a feature is a beta only feature. Basically you don't even need to provide a tlk file or a 2da file, just the UPD and UPT files and my program will make the correct files exactly like the originals.

Other files types don't merge. It still requires reserved ranges of course.

Examples are in the Input folder of the app, and you can do some basic choices as to what classes you want to play on the assemble tab, which creates a simple classes.2da. Not really playable but the same technique works with real classes which kaedrin has done. Basically where automation does not work, i can prep a module soas to work, or just include helper scripts.

My next goal is making it actually attach scripts to module events and recompile scripts as needed to merge those, and that is leveraging my CSL library which already has quite a bit of the hard work of merging done. But merging scripts is a lot more difficult of a problem than just 2da files, and it likely is going to involve a system of each package needing it's own events.

Oh and of course i am adding compression format support, so it can download anything off the vault and use it as is.

#17
moodymage

moodymage
  • Members
  • 19 сообщений
It seems odd. It just doesn't seem to take into account any changes I make any more. I adjusted the right click menu timer. No change. I adjusted the view it starts up in. No change. I've borked it somehow.

#18
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
try looking at the nwn2player.ini file itself ( all that is, is a map to that and other ini files)

Are they changing. ( do you have a camera setting chosen and checked from the menu? )

From prior feedback it seemed to be working properly for those testing it.

#19
The Fred

The Fred
  • Members
  • 2 516 сообщений
This all sounds pretty cool.

painofdungeoneternal wrote...
i have a language which i use to create and adjust 2da files, and i can create a diff file in that language.

So, you basically have your own mini-language for writing stuff in? I don't know if you've played Baldur's Gate but most mods for that use WeiDU which allows for intelligent patching of all the files - it's what I was using as a model and from what I gather I can see parallels.

painofdungeoneternal wrote...
My next goal is making it actually attach scripts to module events and recompile scripts as needed to merge those... But merging scripts is a lot more difficult of a problem than just 2da files

Yes, that's true. I was using the NSSCSC to compile scripts in patches but actually altering them on the go is tough. I think you can get quite a bit of mileage just using ExecuteScript hooks but certainly some things will be more difficult than others.

painofdungeoneternal wrote... 
Other files types don't merge. It still requires reserved ranges of course. 

I don't think reserved ranges are necessarily needed in the long run - I had some ideas about adding stuff dynamically. Of course, it's far more work, and I'm pretty sure that you at least have plenty to worry about at the moment. However in theory script modifications could go hand-in-hand with 2da additions - for example you could paste a new class line at the earlies spot, take its new index and insert it into a constants include file, then recompile all the scripts which use it. Issues start to arise when 2das start cross-referencing each other, though.

Anyway this all sounds like pretty solid stuff. It just annoys me that how many years on, NWN(2) still has issues with installing more than one mod because you need to merge the TLKs, where in many respects BG, a much older game, is leaps and bounds ahead of us (though in some ways the age helps I guess). Unfortunately I don't really have the expertise to go about setting the world to rights myself but it's good to know people in the know are doing cool things. So keep up the good work, I guess.

P.S. If you need any help, let me know - I've been away from NWN2 for a while (or I would have looked over the camera stuff some more...) but I'm going to try and find some time to get back into it when things die down a bit.

#20
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
I am setting up the scripts so they work like diffs, which allows this to work even with content which is not set up to use my system, but at the same time gives more options. I don't want mod authors to even have to know how it works, and the fact they can just implement everything programatically is more of a side effect.

My system can assign rows dynamically, basically appending a tlk entry to the tlk file, then adding it to the 2da file with the same number, and also just appending lines to the 2da at the next available slot, but that requires it to be programmed, and it also means any minor change in 2da rows might seriously affect the players old bic files. I basically use that for the 2da's that control which feats a class gives you since row number is not important for those - but then those are ones that don't use reserved ranges either.

I think the advantage with dialog.tlk is that it supports multiple languages and also gender - i've not got that working yet but have marked the tlk upt files with "en" to indicate english, and if a end users language is french for example, look for a file with "fr" in the name instead. Now if they released 1.24 grinning fool was going to add a method for the game to support multiple dialog.tlk files so merging would no longer be an issue.

Still need to get the blueprint generator working, which would allow adjusting the placeables and similar 2da's as well ( and making scrolls automatically or even sounds )

Сообщение изменено: painofdungeoneternal, 14 Март 2012 - 04:38 .


#21
The Fred

The Fred
  • Members
  • 2 516 сообщений
Yeah, Kamal was after some batch sound blueprints.

#22
Uxion

Uxion
  • Members
  • 2 сообщений
I have a problem with the program.

When I clicked the NWN1 check it brought up a error: An exception of class RegistryAccessErrorException was not handled. The application must shut down.

This wouldn't be a problem if the same thing doesn't keep popping up everytime I open the executive. It opened fine before I switched to NWN1 out of curiosity. Is there any way to fix this?

#23
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 сообщений
I will have to review the code related to that, it means it isn't able to access the registry and I was supposed to handle it more gracefully. Not sure if it's a permission thing, or if the registry entries are in a different spot than i'd assume.

I do not have the PC version of NWN1, just NWN2 for PC and NWN1 for Mac, so cannot test this myself. If you could give it a test once i get a new version set up i'd appreciate it. I aim to support NWN1 fully, but most of my focus at first is NWN2 while i am getting overall systems implemented.

( it might be helpful to get the path to the entries in your registry for NWN1 )

#24
Uxion

Uxion
  • Members
  • 2 сообщений
It is a different drive (F:\\NeverwinterNights) so I don't know where exactly the registry would be located.

Also thank you for responding so quickly. I thought since I necro'd a dead thread of a 5 year game this would be ignored.