Jump to content

Any of you experienced with leveled creatures?


Recommended Posts

Noted' date=' grabbed that one, definitely looks simpler than the SKSE one, and... hooray it's not a pile of .asm files. I can probably get somewhere with this.

[/quote']

 

Assuming NVSE does NOT expose enough information to you, you may have the best luck run-time linking the debugger from VS to the game so you can inspect memory more easily.

Link to comment

Here's a little more rage for you..

 

The only NVSE plugin I know of' date=' geck power up, comes with source. Thought I'd start there since there's no example file.

 

The asshat that wrote the thing included source allright. In x86 assembly. I haven't touched assembler in years. I can read it well enough, but the only reason I can see to do this is to comply with the "letter of the law" without complying with the spirit. I have serious doubts that the guy WROTE the DLL in assembler.

[/quote']

 

Sorry to have to say this, but his code HAS to be in assembler. he's basically recreating Intellisense for the GECK from scratch and the original Intellisense was a massive assembler hack as well, even the MS version that was official and part of VB IDE and eventually made it into every MS language product (and the rest of the world adopted, gotta love Intellisense).

 

Some parts of it are probably easier to write in asm, but nothing *has* to be written in asm, least of all a DLL. The stuff where he's doing in memory patching is probably easier to writein asm in order to be the right size, match offsets, etc. That however is all in the actual powerup DLL, which the NVSE DLL loads. There's no reason to write the entire thing in assembler.

 

The interfaces and stuff can all still be C or C++, even if the guts of some of the functions were in inline assembler.

 

I haven't seen powerup do anything intellisensey anyway, where is that stuff at?

 

Heh you should read the story of the guy who implemented Intellisense at MS, it was a massive undertaking that could only be accomplished in assembler. Of course yeah it could be inline assembly instead of all asm. The powerup does use Intellisense features like function name autocomplete and auto-highlighting as far as I know. At least it seems to when I use it.

Link to comment

Heh you should read the story of the guy who implemented Intellisense at MS' date=' it was a massive undertaking that could only be accomplished in assembler. Of course yeah it could be inline assembly instead of all asm. The powerup does use Intellisense features like function name autocomplete and auto-highlighting as far as I know. At least it seems to when I use it.

[/quote']

 

Are you using the beta one? I'm still using 1.6, maybe that's a new feature in the beta. I definitely don't get any autocomplete or anything like that..

 

Actually I take that back, maybe it does. I don't write my code in that crummy geck window anyway, I write it all in ultraedit, copy and paste it into the GECK and hit save.. and if it saves ok, I save the .txt file.. ;)

Link to comment

Heh you should read the story of the guy who implemented Intellisense at MS' date=' it was a massive undertaking that could only be accomplished in assembler. Of course yeah it could be inline assembly instead of all asm. The powerup does use Intellisense features like function name autocomplete and auto-highlighting as far as I know. At least it seems to when I use it.

[/quote']

 

Are you using the beta one? I'm still using 1.6, maybe that's a new feature in the beta. I definitely don't get any autocomplete or anything like that..

 

Actually I take that back, maybe it does. I don't write my code in that crummy geck window anyway, I write it all in ultraedit, copy and paste it into the GECK and hit save.. and if it saves ok, I save the .txt file.. ;)

Yeah I'm using the beta version, but it had that feature earlier as you've noticed hehe. Generally I do something similar, like notepad++ or ultraedit, as long as they have the right color coding and highlighting file installed for the editor.

 

Link to comment

I didn't notice, didn't even look.. just saying it might have had it all along. I stopped typing crap into the geck window long before I ever found / heardof powerup. I don't have a syntax highlighting file for UE32 for the "geck language" but I get along ok without it.

 

Just fighting with VS2010 now.. why is it always such a problem getting other peoples projects and solutions to work, especially when converting between versions.

 

 

Link to comment

I didn't notice' date=' didn't even look.. just saying it might have had it all along. I stopped typing crap into the geck window long before I ever found / heardof powerup. I don't have a syntax highlighting file for UE32 for the "geck language" but I get along ok without it.

 

Just fighting with VS2010 now.. why is it always such a problem getting other peoples projects and solutions to work, especially when converting between versions.

 

 

[/quote']

 

Because people suck hehe. And programmers I think set things up way too specifically so that other programmers have a hard time on purpose I really believe lol.

Link to comment

Fear me...

 

checking plugin C:\Program Files (x86)\steam\steamapps\common\fallout new vegas\Data\NVSE\Plugins\\nvse_plugin_sexout.dll
SetOpcodeBase 00004000
plugin C:\Program Files (x86)\steam\steamapps\common\fallout new vegas\Data\NVSE\Plugins\\nvse_plugin_sexout.dll (00000001 Sexout extensions for NVSE 00000001) loaded correctly

 

Link to comment

I am working out a simple function now to get the current version of the plugin, as that will be good to have anyway, and like almost everything so far the definition you need to use is undocumented. Once that's done, adding more functions should just be a matter of straight up coding and not deciphering undocumented near-abandonware.

Link to comment

I am working out a simple function now to get the current version of the plugin' date=' as that will be good to have anyway, and like almost everything so far the definition you need to use is undocumented. Once that's done, adding more functions should just be a matter of straight up coding and not deciphering undocumented near-abandonware.

[/quote']

 

If I remember right, the exports should be in the fallout new vegas directory in the file nvse.log. Those are the currently available function exports in nvse.

 

00001400 0000 GetNVSEVersion 
00001401 0000 GetNVSERevision 
00001402 0000 GetNVSEBeta

Link to comment

yeah that is correct. I'm just breaking the stuff out into a .h and as usual having 1001 problems playing "where should I include this other .h, in my .h, or in my .c/.cpp?"

 

I don't write c/cpp for a living; generally just hack on preexisting stuff when I have to, so it gets rusty real fast.. ;)

Link to comment

yeah that is correct. I'm just breaking the stuff out into a .h and as usual having 1001 problems playing "where should I include this other .h' date=' in my .h, or in my .c/.cpp?"

 

I don't write c/cpp for a living; generally just hack on preexisting stuff when I have to, so it gets rusty real fast.. ;)

[/quote']

 

Well, I won't bore you with a long lecture of what belongs in the .h and what belongs in the .cpp, you'll figure that out hehe ;)

Link to comment

I have everything working now in the new project except for the actual calls into NVSE to do stuff or use interfaces, like IDebugLog or IsConsoleMode(). Compiles ok but doesn't link (unresolved external symbol), so I figure I'm missing a lib requirement or something.

 

The other project examples files have the same problem, so I'm not sure what lib I'm supposed to be linking or if there's some other compiler/linker configuration setting I'm missing.

 

Getting closer at any rate!

Link to comment

I have everything working now in the new project except for the actual calls into NVSE to do stuff or use interfaces' date=' like IDebugLog or IsConsoleMode(). Compiles ok but doesn't link (unresolved external symbol), so I figure I'm missing a lib requirement or something.

 

The other project examples files have the same problem, so I'm not sure what lib I'm supposed to be linking or if there's some other compiler/linker configuration setting I'm missing.

 

Getting closer at any rate!

[/quote']

 

First thing I'd check is if you need STL. Also, you may need to link to the directx lib since the code uses some directx calls from dinput.

Link to comment

Ah I got it figured out, was just one of the projects ('common VC9') has its output directory set with "VC9" in the path, so it's "Release VC9" and "Debug VC9" instead of just "Release", "Debug", etc. Didn't have the lib search path setup for those.

 

So it's compiling and loading fine now, but calling my shiny new function = game CTD, which is "good". It means at least everything up to that point is working fine and I'm probably just not fully filling out the structure NVSE is handing me to hold the result or something.

Link to comment

So the console print function (Console_Print) is giving me mysterious trouble. The command itself is registering with NVSE ok and can be run from a script or the console; just a simple first command, to get the current plugin version.

 

The example (and the NVSE core) both have a block similar to this in the execute function, so that if you call the command from the console, it will print the version as well as return it.

 

 if (IsConsoleMode())
 {
     Console_Print("version: %d", VERSION);
 }

 

In my plugin, this compiles fine, but it's back to linker issues (unresolved external symbol) for both functions. I'm linking to two of the three project libs in the solution (nvse.lib and common_vc9.lib), and those functions should both be in nvse.lib, but no dice.

 

I'm not seeing anything in the example plugin project file, for either the NVSE or OBSE examples, that does anything "special" to use those functions -- but they both use them. The only other .lib file, that I'm not linking against, is nvse_loader -- but I'm not using any functions or anything from that project either.

 

So, I'm a bit stumped (again) ;)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use