[RELz] Oblivion Script Extender (OBSE) 0018

Post » Thu Nov 25, 2010 4:13 am

Continuing from the http://www.gamesas.com/index.php?/topic/1082422-beta-oblivion-script-extender-obse-0018/page__p__15769367&#entry15769367.

The Oblivion Script Extender, or OBSE for short, is a modder's resource that expands the scripting capabilities of Oblivion. It doesn't make any modifications to oblivion.exe, TESConstructionSet.exe, or any other files in your oblivion install, so don't worry about permanent side effects. As of v0017, OBSE requires the 1.2.0.416 version of Oblivion.

http://obse.silverlock.org/download/obse_0018.zip - current stable version
http://obse.silverlock.org/
http://obse.silverlock.org/obse_command_doc.html

Mod authors please note: If your mod contains scripts compiled with OBSE 0018, then the mod requires 0018 even if no 0018 functionality is used.

What's new:
0018:
-EquipItem2, EquipItem2NS
-GetTeleportCellName
-EquipMe
-sv_Percentify
-GetNthAEEnchantObject, GetNthAESummonRef, GetNthAEBoundItem
-Fix crash when attempting to pass a string variable using '$' prefix
-Fix an off-by-one error in y-coordinate of cells scanned by GetFirst/NextRef
-HasName returns false if a potentially named object has no name
-Update plugin messaging API
-Fix potential crash in PrintTileInfo
-Miscellaneous tweaks and bug fixes


Many many thanks to 0018 beta testers. You are wonderful.
User avatar
Setal Vara
 
Posts: 3390
Joined: Thu Nov 16, 2006 1:24 pm

Post » Thu Nov 25, 2010 1:58 pm

Did I miss the party? :(

I hadn't realised v18 was released as stable. :D

EDIT: Looks like I was first one there. :)

Congrats on the release, scruggsy and the rest of the OBSE team! :thumbsup:
User avatar
Jessie Rae Brouillette
 
Posts: 3469
Joined: Mon Dec 11, 2006 9:50 am

Post » Thu Nov 25, 2010 5:50 am

So would this stable ver18 supersede the 18.6d version I am currently using? Will the stable version work with Qquix's Rock Ships mod?

thanks
User avatar
Sophh
 
Posts: 3381
Joined: Tue Aug 08, 2006 11:58 pm

Post » Thu Nov 25, 2010 6:52 pm

Replying to a couple of things in the previous thread:
@kyoma: Use FormHeap_Allocate() if the game is going to assume ownership of the pointed-to data (e.g. adding a new Value to a menu). Be careful doing so; for instance it may be necessary to ensure the correct constructors are invoked, etc. This is probably a subject for PM if further clarification is needed.

@TheMagician: The docs are created in Nvu, which is a rather old WYSIWYG editor. The generated html is kinda horrendous; on the other hand Nvu is (1) free and (2) easy to use for programmers who abhor writing documentation. Something more readable/navigable would be welcome but it's never been much of a priority. The format has definitely not scaled well with the number of OBSE commands.

@spookyfx: When you remove/rename a variable in a previously-compiled script the variable remains in the script definition; this has been the source of hard-to-find bugs in many scripts.

So would this stable ver18 supersede the 18.6d version I am currently using? Will the stable version work with Qquix's Rock Ships mod?

thanks

Yes, please upgrade from beta to the stable release.
User avatar
Amanda savory
 
Posts: 3332
Joined: Mon Nov 27, 2006 10:37 am

Post » Thu Nov 25, 2010 5:11 pm

So this is what showler meant :lol: This is definitely great news, even when it puts me in an disadvantageous position of releasing some 4 mods or so. Great work, scruggsy and co., at bringing the longest OBSE beta (yet) to a close :thumbsup:
User avatar
Dragonz Dancer
 
Posts: 3441
Joined: Sat Jun 24, 2006 11:01 am

Post » Thu Nov 25, 2010 6:29 am

Thank you for the new stable version of OBSE. This has definitely made a decision I had much easier as I was debating whether to install the beta version of v18 in order to run a particular mod that required it.
User avatar
T. tacks Rims
 
Posts: 3447
Joined: Wed Oct 10, 2007 10:35 am

Post » Thu Nov 25, 2010 5:31 pm

Aha now thats what i'm talking about... finally can get some18 modding goodness :) Cheers OBSE team :foodndrink:
User avatar
GEo LIme
 
Posts: 3304
Joined: Wed Oct 03, 2007 7:18 pm

Post » Thu Nov 25, 2010 5:58 am

Thanks for the update :foodndrink:
User avatar
jason worrell
 
Posts: 3345
Joined: Sat May 19, 2007 12:26 am

Post » Thu Nov 25, 2010 7:14 pm

Thanks for the new ver. 18 :clap: :celebration:
User avatar
Kate Murrell
 
Posts: 3537
Joined: Mon Oct 16, 2006 4:02 am

Post » Thu Nov 25, 2010 1:05 pm

Congrats scruggsy! You did most of the hauling on this release! Now I can take a look at porting this stuff over to FOSE.
User avatar
victoria gillis
 
Posts: 3329
Joined: Wed Jan 10, 2007 7:50 pm

Post » Thu Nov 25, 2010 6:14 pm

An ill-timed bug report : A couple of my testers seem to have found an issue with weapon poisons. They've confirmed that poisons attached to delinquent weapons aren't cleaned up when creating a clean save of their parent mod. This apparently causes persistent CTDs when trying to create one.
User avatar
Bethany Watkin
 
Posts: 3445
Joined: Sun Jul 23, 2006 4:13 pm

Post » Thu Nov 25, 2010 7:05 am

I'd like to give a big thank you to Scruggsy and the rest of the OBSE team for all their hard work on this release. The features added in this version will enable some really cool new stuff. :clap:

Time to upgrade to several 0018-based mods that I'd been holding off on for my non-test saves...
User avatar
Kahli St Dennis
 
Posts: 3517
Joined: Tue Jun 13, 2006 1:57 am

Post » Thu Nov 25, 2010 10:20 am

Mod authors please note: If your mod contains scripts compiled with OBSE 0018, then the mod requires 0018 even if no 0018 functionality is used.

Clarification (that I'm 99% sure of already): This only applies to the individual script rather than the whole mod. That is, if I add a User-Defined Function script to Cobl, the rest of Cobl will still work. I just have to be really careful about OBSE and which scripts I save while modding :)
Nevermind - there's an even bigger issue for Cobl and other library mods. It would require OBSE all the way or separate versions anyway.
User avatar
glot
 
Posts: 3297
Joined: Mon Jul 17, 2006 1:41 pm

Post » Thu Nov 25, 2010 5:05 pm

Thank you and the complete team very much for V18 stable!
User avatar
katie TWAVA
 
Posts: 3452
Joined: Tue Jul 04, 2006 3:32 am

Post » Thu Nov 25, 2010 8:03 am

Clarification (that I'm 99% sure of already): This only applies to the individual script rather than the whole mod. That is, if I add a User-Defined Function script to Cobl, the rest of Cobl will still work. I just have to be really careful about OBSE and which scripts I save while modding :)
Nevermind - there's an even bigger issue for Cobl and other library mods. It would require OBSE all the way or separate versions anyway.
Was it this way with the betas too ?
User avatar
Haley Cooper
 
Posts: 3490
Joined: Wed Jun 14, 2006 11:30 am

Post » Thu Nov 25, 2010 5:35 am

Was it this way with the betas too ?

As a quick answer - at least Beta 5, yes.
User avatar
Emmi Coolahan
 
Posts: 3335
Joined: Wed Jan 24, 2007 9:14 pm

Post » Thu Nov 25, 2010 7:11 am

@TheMagician: The docs are created in Nvu, which is a rather old WYSIWYG editor. The generated html is kinda horrendous; on the other hand Nvu is (1) free and (2) easy to use for programmers who abhor writing documentation. Something more readable/navigable would be welcome but it's never been much of a priority. The format has definitely not scaled well with the number of OBSE commands.

It's a good thing I enjoy writing documentation. :)

I'm about a third of the way through the reformatting (I've reformatted about 1900 lines of html). A lot of it could be done with find/replace and small macros, but most of it is still being done by hand. The original document is over 12,000 lines but I estimate about half of them are useless formatting junk. I've restricted myself to formatting, fixing broken (internal) links, and correcting typos thus far, but I may change the order that certain functions are listed to preserve some logic and coherence across sections. Some sections have get/set, get/set ordered pairs and others are get/get, set/set (if that makes any sense to you).

I've also linked the function name to the corresponding wiki entry. I can say with some certainty that at least half of the functions have not been documented on the wiki. Even though most of them are self-explanatory, I suspect a lot of modders are unaware of these functions as I tend to think the average modder uses the cs wiki, not the OBSE home page for reference. Since the OBSE home page has the most current and complete information it makes more sense to me to reformat it as a usable resource than to laboriously copy/paste everything over to the wiki. Modders who feel inclined to elaborate on the somewhat terse syntax on the home page are free to do so on the wiki. The new format makes that very convenient.

If you'd like to host the reformatted pages on the OBSE home page I'll send them along when I'm done. Otherwise I can host them separately on my own web site or keep them to myself if you don't feel comfortable letting someone else meddle with them. :) Unless you have a separate document listing only the new changes, I'll just use the New Features section to see what's changed between my copy and the current one.

Thanks for the update, btw. Glad to see it's 'gone stable'.
User avatar
loste juliana
 
Posts: 3417
Joined: Sun Mar 18, 2007 7:37 pm

Post » Thu Nov 25, 2010 6:29 pm

Ah, nice job. I was wondering when the beta was going to end and it would become "stable". I guess I should upgrade it then :)
User avatar
Lawrence Armijo
 
Posts: 3446
Joined: Thu Sep 27, 2007 7:12 pm

Post » Thu Nov 25, 2010 8:19 pm

Nevermind - there's an even bigger issue for Cobl and other library mods. It would require OBSE all the way or separate versions anyway.

It might not be as bad as it sounds:

Mod authors please note: If your mod contains scripts compiled with OBSE 0018, then the mod requires 0018 even if no 0018 functionality is used.

Scruggsy, could you clarify this? It sounds like you're referring to the bytecode changes that were made during the beta period, but you http://www.gamesas.com/index.php?/topic/1082422-beta-oblivion-script-extender-obse-0018/page__view__findpost__p__15787740 that only scripts which use OBSE expressions are affected. Is that no longer true?
User avatar
Elizabeth Lysons
 
Posts: 3474
Joined: Fri Feb 02, 2007 7:16 am

Post » Thu Nov 25, 2010 6:17 pm

@kyoma: Use FormHeap_Allocate() if the game is going to assume ownership of the pointed-to data (e.g. adding a new Value to a menu). Be careful doing so; for instance it may be necessary to ensure the correct constructors are invoked, etc. This is probably a subject for PM if further clarification is needed.
Will do, my knowledge of C++ and the OBSE src is limited so it may prove difficult to clarify things for me. :embarrass:

Anyways, a repost of my opcode request, DragoonWraith mentioned something about giving them out in sets of 16 and I currently have...*counts*.... 12 functions with atleast 1 other on the way. I might add a few more depending on what kind of exposed data I run into. Dunno if it's procedure to list the functions first or something, I can do that ofcourse once I get them in a more readable format. :)

Oh and great work with the release ofcourse! :foodndrink:

TheMagician: Might you perhaps have a sneak-preview of how this new/alternative documentation looks like? I don't think the current one is really that bad but I don't really have a comparison either. :)

Wyzard256: I think the OP on that matter is either a bit outdated or it's ment as a larger margin of error. Modders that aren't too familiar with OBSE modding or never used it up until now may know where to draw the line.

-kyoma
User avatar
Ownie Zuliana
 
Posts: 3375
Joined: Thu Jun 15, 2006 4:31 am

Post » Thu Nov 25, 2010 9:49 am

Ooo, a new version. Excellent.
User avatar
Maeva
 
Posts: 3349
Joined: Mon Mar 26, 2007 11:27 pm

Post » Thu Nov 25, 2010 5:20 pm

Mod authors please note: If your mod contains scripts compiled with OBSE 0018, then the mod requires 0018 even if no 0018 functionality is used.


Can I get clarification on this?

Does this mean any script compiled with the CS loaded via the obse_loader or just OBSE functions?
User avatar
james tait
 
Posts: 3385
Joined: Fri Jun 22, 2007 6:26 pm

Post » Thu Nov 25, 2010 9:34 pm

Can I get clarification on this?

Does this mean any script compiled with the CS loaded via the obse_loader or just OBSE functions?


Me too. I'm in the midst of trying to make a patch that doesn't use OBSE at all, but I'm loading the CS with OBSE loader, as that's my 'default' for it. Do I have to now switch between vanilla CS and OBSE CS for different mods, or does this just apply to mods using OBSE stuff?
User avatar
sarah simon-rogaume
 
Posts: 3383
Joined: Thu Mar 15, 2007 4:41 am

Post » Thu Nov 25, 2010 11:35 am

wow...really?...wow....
ok thanks for letting me know that. That is important as I do a lot of "changing of variables names" as I flesh out scripts.

18 is out of beta? :foodndrink:
And Congratulations on release of 18, it is a wonder to behold, kind like a monkeys paw, it can make wishes come true, but be careful what you wish for! ;)

scruggsywuggsy the ferret,said:

@spookyfx: When you remove/rename a variable in a previously-compiled script the variable remains in the script definition; this has been the source of hard-to-find bugs in many scripts.
User avatar
Patrick Gordon
 
Posts: 3366
Joined: Thu May 31, 2007 5:38 am

Post » Thu Nov 25, 2010 6:09 pm

Scruggsy, could you clarify this? It sounds like you're referring to the bytecode changes that were made during the beta period, but you http://www.gamesas.com/index.php?/topic/1082422-beta-oblivion-script-extender-obse-0018/page__view__findpost__p__15787740 that only scripts which use OBSE expressions are affected. Is that no longer true?



Can I get clarification on this?

Does this mean any script compiled with the CS loaded via the obse_loader or just OBSE functions?



Me too. I'm in the midst of trying to make a patch that doesn't use OBSE at all, but I'm loading the CS with OBSE loader, as that's my 'default' for it. Do I have to now switch between vanilla CS and OBSE CS for different mods, or does this just apply to mods using OBSE stuff?


I believe this is just the bytecode changes from v0017 to v0018. Simply recompiling obse-based scripts with v0018 will require that v0018 or later be used.
User avatar
GLOW...
 
Posts: 3472
Joined: Thu Aug 03, 2006 10:40 am

Next

Return to IV - Oblivion