logo logo

 Back to main page

The NWNX Community Forum

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
10 questions for the OEI developers
Goto page Previous  1, 2
 
Post new topic   Reply to topic    nwnx.org Forum Index -> Development
View previous topic :: View next topic  
Author Message
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1060
Location: Germany

PostPosted: Thu Apr 26, 2007 17:19    Post subject: Reply with quote

@Senalaya: I couldn't have said it better myself. That's the main difference between NWNX support, which we currently can expect, and a full API, which is probably among the heights of my question #5. Desireable, but probably also up in the clouds.
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Thu Apr 26, 2007 17:20    Post subject: Reply with quote

Senalaya wrote:
Grinning Fool wrote:
My question - which really isn't NWNX, but is related to the concept:

The ideal solution for integration would have three parts:

1. A base library of functions that is exposed to developers (things like execute script, alloc/dealloc string/int/etc, creating objects, classes for 'object', 'location', 'effect', etc) via a public API.
2. A script function LoadLibrary that would allow an init script to load required/desired DLLs.
3. A script function InvokeMethod("method name", param, param, param) or something very similar; if not the ability to call 'imported' functions directly. Should support the ability to pass all data types 'natively' into/out of the functions

The question is, is there any chance of getting to that point at some time in the future? If not, what about just getting #1, accessible from within NWNX?


Your desire/question goes in the direction, what was asked from Bio and OE on their boards in the past. When it comes to providing a real API, dll or any sort of ACTIVE code for that regard, their security people go berserk.
Take your LoadLibary() for example. What would keep some moron from loading any OS DLL and to perform destructive tasks with it? And that all would happen by simply loading some NWN(2) module or trusting some scripts or hak-pack from the nwvault. No serious company would take such a risk. Right now, the worst thing a module or script can do is crashing NWN(2) itself.
It is a difference, if someone knowingly installs NWNX on his computer, in that case he knows, he's dealing with executables and potential risks.

The risk is the same. Someone has to manually install additional files on their server in order for it to work. I would assume it would only load DLLs that are present in its root directory.
_________________
Khalidine, a NWN2 persistent world

Looking for volunteers.
Back to top
View user's profile Send private message
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1060
Location: Germany

PostPosted: Thu Apr 26, 2007 17:27    Post subject: Reply with quote

Grinning Fool wrote:
It is no different at all from what can be done, assuming at least #1 is provided. However, the hooking layer that NWNX provides would no longer be needed; it seems that this aspect of NWNX was a workaround to not having native access to this via scripting in the first place?


Hmm, I think it's not a question of what CAN be done, but what actually WILL be done. Of course they could do it and of course it's within our rights to request it. But the past has shown that somewhere in between the "can" and the "could", companies draw a line of what actually will be done. I'm trying to jump over the line with my NWNX concept, because otherwise there would be no border crossing at all, IMHO.

NWNX is a workaround, that's true. It's a program that constructs bridges where there were none before. OE can not build every bridge we might need, so I am trying to give NWNX a many building bricks as I can.

Don't get my wrong. On the extreme other side, I would like to get the source code and do everything myself. For obvious reasons, we will not get the source. For obvious reasons, we will also net get a native API. That's why I'm currently trying to get at least something above the level of pure hacking.
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Thu Apr 26, 2007 17:28    Post subject: Reply with quote

Quote:
Don't get my wrong. On the extreme other side, I would like to get the source code and do everything myself. For obvious reasons, we will not get the source. For obvious reasons, we will also net get a native API. That's why I'm trying to get at least something above the level of pure hacking.

I wholly understand and agree. I figured though, that it would not hurt to make the request. And -- perhaps -- if 2 & 3 are completely out of the question, 1 will seem reasonable by way of comparison Wink
_________________
Khalidine, a NWN2 persistent world

Looking for volunteers.
Back to top
View user's profile Send private message
Senalaya



Joined: 29 Dec 2004
Posts: 82
Location: Germany

PostPosted: Thu Apr 26, 2007 17:29    Post subject: Reply with quote

Grinning Fool wrote:

The risk is the same. Someone has to manually install additional files on their server in order for it to work. I would assume it would only load DLLs that are present in its root directory.


The technical risk itself is the same, but the expectation and trust is not.
Right now, it is 100% secure to dl a module, erf or hak file, because they can't do any harm. This would totally change, if it would be able to execute functions outside of NWN(2) and the game developer and publisher could be held resposible for providing such a functionality.
Back to top
View user's profile Send private message
Senalaya



Joined: 29 Dec 2004
Posts: 82
Location: Germany

PostPosted: Thu Apr 26, 2007 17:35    Post subject: Reply with quote

Grinning Fool wrote:
Quote:
Don't get my wrong. On the extreme other side, I would like to get the source code and do everything myself. For obvious reasons, we will not get the source. For obvious reasons, we will also net get a native API. That's why I'm trying to get at least something above the level of pure hacking.

I wholly understand and agree. I figured though, that it would not hurt to make the request. And -- perhaps -- if 2 & 3 are completely out of the question, 1 will seem reasonable by way of comparison Wink


If you search the NWN, NWN2 and Dragon Age boards, you'll see that I made that exact request for an API and DLL support in the past myself - repeatedly. And I always got the same basic statements: security, trust in files and legal responsibility.
It's not that I personally wouldn't like to have that sort of interface, but I understand their reasoning and was merly quoting their usual responses to that idea.
Back to top
View user's profile Send private message
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Thu Apr 26, 2007 17:50    Post subject: Reply with quote

Senalaya wrote:
Grinning Fool wrote:

The risk is the same. Someone has to manually install additional files on their server in order for it to work. I would assume it would only load DLLs that are present in its root directory.


The technical risk itself is the same, but the expectation and trust is not.
Right now, it is 100% secure to dl a module, erf or hak file, because they can't do any harm. This would totally change, if it would be able to execute functions outside of NWN(2) and the game developer and publisher could be held resposible for providing such a functionality.

I can see this to a point -- but a mod could only access libraries explicitly placed into the install folder of NWN if this were done correctly. Still that would not eliminate all risk -- a module could /try/ to access DLLs that /may or may not/ be in there.
_________________
Khalidine, a NWN2 persistent world

Looking for volunteers.
Back to top
View user's profile Send private message
virusman



Joined: 30 Jan 2005
Posts: 1020
Location: Russia

PostPosted: Thu Apr 26, 2007 20:09    Post subject: Reply with quote

Papillon wrote:
Regarding the last comment by virusman:

Imagine two ways to go about NWNX:

1) The NWN1 way: Hours and days of debugging and hooking functions based on a more or less empirically found binary function signature.

2) The NWN2 way: Search for a known byte signature in the NWN2 executeables (server + client), e.g. NWNX_SETSTRING. Call that function and pass it a pointer to your very own function. Next, NWN will call your function directly, without hijacking functions meant for other purposes.

It's very little effort for OE to implement (some 10 lines of code per function). The old NWN1 way is still available of course, but I wanted to have at least the most basic functions nailed down in their executable, which next to strings, also allow passing floats and integer values.

Think about it this way: We, the community, ask OE to give us access to certain areas of the game, like game objects or simple variable values. We do not ask for specific functions on these entities, because with their support, we are in the position to implement them on our own. I would say this is a substantial multiplication of OE's development capabilities.
Yes, this approach would be very useful for functions we didn't find ourselves. But adding signatures for chat/runscript/etc. is not as significant as exposing new functions.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
kungfoowiz



Joined: 12 Oct 2006
Posts: 61

PostPosted: Sat Apr 28, 2007 8:22    Post subject: Reply with quote

Hey’all

Two questions:

1. Hitpoints don’t appear to be stored on the actual character file anymore. It seems they’re generated at maximum by the NWN2 game itself.

Would it be possible to have the game read from the character file for hitpoints as in NWN1, and make a server configuration option to hide the hitpoint roll on character level-up?

2. Pretty much the same as the other posters, what’s the deal with sync’ing PWC’s?
Back to top
View user's profile Send private message
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Wed May 23, 2007 4:17    Post subject: Reply with quote

Anything ever come of this?
_________________
Khalidine, a NWN2 persistent world

Looking for volunteers.
Back to top
View user's profile Send private message
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1060
Location: Germany

PostPosted: Fri Jun 01, 2007 20:16    Post subject: Reply with quote

Bump ?
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    nwnx.org Forum Index -> Development All times are GMT + 2 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group