[RELz] Oblivion Magic Extender v1.beta2

Post » Tue Feb 01, 2011 1:14 pm

I have been having some trouble with OBME.

Thanks for reporting. Could you send me (jroush.tesmods@gmail.com) a copy of Oblivion\OBME.log and Oblivion\OBME_CS.log? That would help me narrow down what caused this.

Edit: also - where the saves you're using made with beta1, bet2, or without obme ?
Edit2: also also - would you mind attaching a copy of the mod and/or savegame as well? I'll destroy them afterward, but it would allow me to see for myself what was corrupted.
User avatar
Budgie
 
Posts: 3518
Joined: Sat Oct 14, 2006 2:26 pm

Post » Tue Feb 01, 2011 4:13 pm

I've done some more testing. After making a clean save and reinstalling, the save problem in-game appears to be gone. Although I never used a mod using beta 2 (since it wouldn't save), the test mod i made with beta 1 I disabled before I used beta 2.

There is still a problem with the CS failing to save. It appears to happen when I added a custom icon to a spell effect, a summon effect. The icon and its path are fine. It will save fine as long as i don't change the icon.

I have sent you the log files as well as the errors the CS gives on save.
User avatar
Krystina Proietti
 
Posts: 3388
Joined: Sat Dec 23, 2006 9:02 pm

Post » Tue Feb 01, 2011 11:26 pm

Is it within the skope of OBME to increase the activeEffect icon limit in the HUD? Cause it would be very cool if we could get more than 8 at once, especially with a mod like DarNifedUI to place them over several lines. :)

-kyoma
User avatar
April D. F
 
Posts: 3346
Joined: Wed Mar 21, 2007 8:41 pm

Post » Tue Feb 01, 2011 11:30 am

Is it within the skope of OBME to increase the activeEffect icon limit in the HUD?

I've always wanted to do that ... but no, it's not really within the scope of OBME itself.

Since you're http://www.gamesas.com/index.php?/topic/1097119-relz-obse-plugin-menuque/page__p__16026535__fromsearch__1&#entry16026535, it shouldn't be a big step (I think?). If you can find the Update() method for the HUD menu, you can remove any hard-coded caps. Then it's just a matter of creating a new .xml file with more icon placeholders.
User avatar
Siidney
 
Posts: 3378
Joined: Fri Mar 23, 2007 11:54 pm

Post » Tue Feb 01, 2011 3:17 pm

I've always wanted to do that ... but no, it's not really within the scope of OBME itself.

Since you're http://www.gamesas.com/index.php?/topic/1097119-relz-obse-plugin-menuque/page__p__16026535__fromsearch__1&#entry16026535, it shouldn't be a big step (I think?). If you can find the Update() method for the HUD menu, you can remove any hard-coded caps.
True, although I have to admit most of the stuff from MenuQue was either already exposed or ripped off/reverse engineered from the whole TextInput class. Although I can imagine I'd have to hook the function which creates a new effect icon (or the function that checks for the limit), I have no idea how I would go about doing so. I've attempted things like IDA-Pro in the past but even after I found the approximate location (for something else though) of what I thought I needed I had no idea how to utilize that information. Basically I have a gap in my knowledge between raw data and actual implementation. Without example code I'm basically useless atm. :P

Then it's just a matter of creating a new .xml file with more icon placeholders.
It's not an xml thing since each icon is created from a single template. But you did give me an idea, I think it is more in the area of Custom Spell Icons as it already hooks (part of) the code that checks if a new icon should be created or if an existing one should be refreshed/re-used. :)

-kyoma
User avatar
Alister Scott
 
Posts: 3441
Joined: Sun Jul 29, 2007 2:56 am

Post » Tue Feb 01, 2011 11:21 am

It's not an xml thing since each icon is created from a single template.

Didn't know that. In that case, it may well be something I can fix quickly - I did some poking around in the menu code a while back myself. Let me have a look ...

Edit: Nope. It's gonna take some more intensive searching :(
User avatar
Dawn Porter
 
Posts: 3449
Joined: Sun Jun 18, 2006 11:17 am

Post » Tue Feb 01, 2011 5:56 pm

@ SpeedyB: Afaik, this Problem does only occur if you select a model/icon path via the dropdown menu. If you type in the correct path, everything should work fine. I noticed that once in the beta 1 and began to always type it in, just to make sure it works. Honestly, I totally forgot to report this.
User avatar
Steven Nicholson
 
Posts: 3468
Joined: Mon Jun 18, 2007 1:24 pm

Post » Tue Feb 01, 2011 11:35 am

... increase the activeEffect icon limit in the HUD?

OK, I found the limit. It's a simple, hard-coded check at 0x005A7E15 ("cmp esi,8").

It should be very straightforward to patch, just write in a different limit and hey, presto. Not a single hook required.

Now, if you wanted the icons not to stack (so that a given effect can show up more than once), that'll require rewriting a good part of that function. If I have a moment tomorrow, maybe I'll throw together a quick plugin that does it.
User avatar
Cathrin Hummel
 
Posts: 3399
Joined: Mon Apr 16, 2007 7:16 pm

Post » Tue Feb 01, 2011 10:33 am

@ SpeedyB: Afaik, this Problem does only occur if you select a model/icon path via the dropdown menu. If you type in the correct path, everything should work fine. I noticed that once in the beta 1 and began to always type it in, just to make sure it works. Honestly, I totally forgot to report this.


The file select lists checks to see if the selected path is relative to your "...Oblivion\Data\Textures\Menus\Icons\" directory, and chops that part off if so. This might be what's causing the problem.

I'm unable to reproduce it myself, so might one of you (Varyn,SpeedyB) be so kind as to try and confirm this? See if it's leaving out a backslash or something.
User avatar
Betsy Humpledink
 
Posts: 3443
Joined: Wed Jun 28, 2006 11:56 am

Post » Wed Feb 02, 2011 12:43 am

OK, I found the limit. It's a simple, hard-coded check at 0x005A7E15 ("cmp esi,8").

It should be very straightforward to patch, just write in a different limit and hey, presto. Not a single hook required.
Something like this? :unsure:
SafeWrite8(0x005A7E15, 0x0F);


Now, if you wanted the icons not to stack (so that a given effect can show up more than once), that'll require rewriting a good part of that function. If I have a moment tomorrow, maybe I'll throw together a quick plugin that does it.
Not really, I mean, sure a plugin with such an option could be nice but I'd much rather see you work on OBME. :D
User avatar
Kat Ives
 
Posts: 3408
Joined: Tue Aug 28, 2007 2:11 pm

Post » Tue Feb 01, 2011 10:19 pm

Something like this? :unsure:
SafeWrite8(0x005A7E15, 0x0F);

You'll need to offset the patch location by 2 bytes, i.e, 0x005A7E17, to overwrite the second operand. Do away with the limit completely by nopping out the next instruction.
SafeWrite32(0x005A7E18, 0x90);SafeWrite16(0x005A7E1C, 0x90);

User avatar
sam westover
 
Posts: 3420
Joined: Sun Jun 10, 2007 2:00 pm

Post » Tue Feb 01, 2011 1:15 pm

EDIT: original post was redundant to shadeMe's post. Have fun...
User avatar
yessenia hermosillo
 
Posts: 3545
Joined: Sat Aug 18, 2007 1:31 pm

Post » Tue Feb 01, 2011 3:43 pm

You'll need to offset the patch location by 2 bytes, i.e, 0x005A7E17, to overwrite the second operand. Do away with the limit completely by nopping out the next instruction.
SafeWrite32(0x005A7E18, 0x90);SafeWrite16(0x005A7E1C, 0x90);

Ahhh cool thanks (you too JRoush). :) Now lets see if I want this as part of MenuQue or not. And if it hasn't been made by the time my PC arrives. Sorry for the small hijack. :P

-kyoma
User avatar
Life long Observer
 
Posts: 3476
Joined: Fri Sep 08, 2006 7:07 pm

Post » Tue Feb 01, 2011 10:59 pm

Ahhh cool thanks (you too JRoush). :) Now lets see if I want this as part of MenuQue or not. And if it hasn't been made by the time my PC arrives. Sorry for the small hijack. :P
I think JRoush deserves a reward for his work. Post a screenshot or something ;)
User avatar
kennedy
 
Posts: 3299
Joined: Mon Oct 16, 2006 1:53 am

Post » Tue Feb 01, 2011 7:56 pm

I think JRoush deserves a reward for his work. Post a screenshot or something ;)
Yea....well um....pc....broke....you....know.... Atm I can't really do anything Oblivion related except viewing C++ source code in Notepad++. :(
User avatar
Shaylee Shaw
 
Posts: 3457
Joined: Wed Feb 21, 2007 8:55 pm

Post » Tue Feb 01, 2011 4:27 pm

Atm I can't really do anything Oblivion related except viewing C++ source code in Notepad++.

That svcks. It's gotten so I can barely navigate code at all without visual studio holding my hand.

Anyway, you can 'reward' me by doing compatibility testing on obme when you get the computer working again :D
User avatar
Cartoon
 
Posts: 3350
Joined: Mon Jun 25, 2007 4:31 pm

Post » Tue Feb 01, 2011 2:07 pm

That svcks. It's gotten so I can barely navigate code at all without visual studio holding my hand.

Anyway, you can 'reward' me by doing compatibility testing on obme when you get the computer working again :D
Yea it definitely svcks, although it will make it even more fun to get back to work on all my mods and projects. And you can count on me to start testing the heck out of OBME and co. :hehe:
User avatar
Tiffany Holmes
 
Posts: 3351
Joined: Sun Sep 10, 2006 2:28 am

Post » Tue Feb 01, 2011 10:49 pm

I can confirm what Varyn said. It will save if you type the path in manually without using the brows button.

I also ran into the messed up save game problem again. I'll send you the save and log files.
User avatar
Benjamin Holz
 
Posts: 3408
Joined: Fri Oct 19, 2007 9:34 pm

Post » Tue Feb 01, 2011 10:47 am

I have an idea for a new handler(s).

A spell that checks the player's inventory for specific items, if it finds them the spell would be cast, removing those items and adding a new item or summoning a creature (with or without time limit)
An effect like this could bridge the gap between spells and alchemy, and would be very helpful for necromancer mods.
User avatar
Penny Flame
 
Posts: 3336
Joined: Sat Aug 12, 2006 1:53 am

Post » Tue Feb 01, 2011 9:14 pm

Ooh... material spell components... that could open the door to some huge changes. Completely new systems. Best if the field could be added to every handler, though I doubt there's room now, heh.
User avatar
Hussnein Amin
 
Posts: 3557
Joined: Sun Aug 05, 2007 2:15 am

Post » Tue Feb 01, 2011 10:25 pm

A spell that checks the player's inventory for specific items
material spell components...

I'm planning a set of new meta-magic features for spells,enchantments,potions etc. A 'material' requirement could easily be one of them. It would be a part of the spell itself, then, rather than an individual effect.

I'm also planning a new handler 'ApplyMagicItem' that invisibly applies a specified magic item to the target. This is handy for single magic effects that do multiple things (e.g. Fire Shield) and would allow you to create magic effects that appear to use the meta-magic features of magic items (in this case a material requirement).
User avatar
Phoenix Draven
 
Posts: 3443
Joined: Thu Jun 29, 2006 3:50 am

Post » Wed Feb 02, 2011 12:13 am

That sounds great.
Would it be possible to make a summon effect that summons an actor permanently until they are killed? In combination with material requirement someone could make an epic and immersive necromancer mod, or a mod for advanced conjuration.
User avatar
Kevan Olson
 
Posts: 3402
Joined: Tue Oct 16, 2007 1:09 am

Post » Tue Feb 01, 2011 11:31 am

That sounds great.
Would it be possible to make a summon effect that summons an actor permanently until they are killed? In combination with material requirement someone could make an epic and immersive necromancer mod, or a mod for advanced conjuration.

'Permanent Summons' are on the to-do list for both of the summon handlers.
User avatar
J.P loves
 
Posts: 3487
Joined: Thu Jun 21, 2007 9:03 am

Post » Tue Feb 01, 2011 10:54 am

http://www.gamesas.com/index.php?/topic/1106110-relz-addactorvalues/ should make the ModAV handler much more interesting to play with, in the next beta.
User avatar
Spencey!
 
Posts: 3221
Joined: Thu Aug 17, 2006 12:18 am

Post » Tue Feb 01, 2011 11:56 pm

Oh! Speaking of summons, hopefully this is something triggered by the summon handler rather than a special case somewhere in the AI code... when a creature is summoned, it generally becomes a higher priority target than the player. There are some rather convoluted script work-arounds which can kind of take care of this, but as always a checkbox would be preferred!

Also, somewhere there must be a piece of data attached to summon X, indicating that it belongs to caster Y. I've managed to extrapolate this data in a script by ref-walking every actor and checking for the associated active effect... but a GetSummoner command would be so much cleaner!
User avatar
Rob Davidson
 
Posts: 3422
Joined: Thu Aug 02, 2007 2:52 am

PreviousNext

Return to IV - Oblivion