User talk:Tibixe

From the Oblivion ConstructionSet Wiki
Revision as of 00:18, 16 November 2007 by imported>Arius
Jump to navigation Jump to search

Dragoon Wraith TALK 22:27, 15 August 2006 (EDT): About your request for SetRefEssential for OBSE: Couldn't you use CreateFullActorCopy and SetEssential to create an essential version of an actor which is referenced repeatedly?

Tibixe 04:49, 16 August 2006 (EDT)

My problem was to make an Actor Copy essential. But setessential acts like a return function when it is used with a reference variable. (That caused my mod to create a new actor every frame...) I also added an entry to SetEssential, but marked it as minor edit (I thought a line is a minor edited, now I know it isn't).

Dragoon Wraith TALK 10:17, 16 August 2006 (EDT): Twas a good edit, don't worry. Anyway, it being a return statement isn't a problem, you know. I'd do something like this:
if ( GetDisabled == 0 )
  set copy to CreateFullActorCopy
  SetEssential copy 1
  Disable  ;disable the original
endif
If you'd like, you could post your code and I'll see what's up with it.
For now, though, I'm going to take SetRefEssential off the Wish List.
Tibixe 10:29, 16 August 2006 (EDT)
Not that it also act like a return statement, it acts exactly like it and does nothing else than stops the script for the current frame.
Reference.SetEssential really works? I must try it... I am going to make a scroll with your code, test it on an NPC, and see what happens... I bet it will duplicate forever (if it compiles)
Tibixe 10:46, 16 August 2006 (EDT): I displays an error message:
Line 8,(the setessential is here)
Missing parameter ActorBase. 
Just as I expected. I think we need that SetRefEssential :) I've got an image of the script and the error message, if you think I made a mistake...
Dragoon Wraith TALK 12:19, 16 August 2006 (EDT): Ohhh... I misread that, and I didn't know the proper syntax for SetEssential - I updated my script to read properly - it'll now compile, but still won't work. Sorry. You're absolutely right, I'll add it back to the Wish List.

Hi Tibixe,

In working on a mod I came across a need to use your TSFC mod for OBSE. As far as I can tell I have it working properly. However, I have run into a particular problem and was wondering if you have a solution for it.

    I want to use the strings in TSFC in combination with the MessageBox script function.  Is this possible and if so do you have an example?
    I strongly suspect the answer is no since the script language only seems to be able to handle static strings as part of the script text.  So, my second question is can a MessageBox like function be added to TSFC so that TSFC strings can be sent to a MessageBox.  I'm picturing it working the same as the normal MessageBox function except  you would pass in the variables that point to TSFC strings instead.  
    When browsing the source code I noticed the c++ code for the StrPrint function uses "Console_Print(StringGet(arg))".  Is there a similar function available in the game API's for the message box?  If so, I think what I am looking for would be fairly straight forward to add.
    Let me know your thoughts on this.  I am able to work in c++ and would willing to give it a try myself if you are unable to work on it.  I think though the source you have made public is missing some files that I would need to compile (for example I could not locate GameAPI.h).  So, for me to help out this way I think you would have to send me the complete set of project files.

Thanks Arius

Hello,
You are right, you can't do this with TSFC at the moment, so I'll have to make something like StrPrint. The problem is that I don't know enough about reverse engineering so I can't locate functions in the Oblivion binary. I'll ask Ianpatt and Behippo about it.
Those files are from the original obse source code. It's not in the repository because OBSE's license is undecided. Copy the contents of the src directory from zip file, so the directory structure matches, and it should work.
Feel free to send any code for TSFC. You'll need developer access for the repository, but I can give you that.
I'm not really familiar with the wiki, but I think this discussion should go to User_talk:Tibixe
Tibixe 05:27, 11 November 2007 (EST)


Thanks for the quick response Tibixe.

I found the other source files in the OBSE source. Thanks for pointing that out. It seems like the real problem will be finding a messagebox function in the Oblivion binary. I've never done something like that but maybe with a bit of research I can figure it out.
In my spare time I'll give this a try. If I get anything that works I'll let you know. Maybe Ianpatt and Behippo will be able give you some good help. If you get it working before me just let me know.
Thanks again
Arius

Ianpatt already has some results on finding MessageBox. His post on the Bethsoft Forums:

Added for 1.1 and 1.2.416, still need to find the function pointers for 1.2.
Note that you will need to do some experimentation with the parameters to get something other
than the basic behavior - I haven't messed around with them enough to provide full documentation.

Tibixe 13:14, 12 November 2007 (EST)

Awesome. Thanks Tibixe (and Ianpatt). I had started poking around in the executable using IDA but I imagine it would have been a while before I found it. This helps me out a lot. I'm guessing this is in the new 1.3 beta version. I'll download it and start playing around with it.

Er...maybe not? I'm having trouble finding it in the beta source code. Has Ian added it to the current beta? or am I just missing something?

Thanks Arius

It is not in the currently available beta. I am not sure if he plans to include it in the next v0013 beta. Scruggs 21:13, 12 November 2007 (EST)


Alright. So, you can probably guess my next question. Is there any chance of getting the function pointers that Ian has found? I could then add them into my local copy of OBSE and get started. Of course, I understand that I couldn't publish my mod until Ian officially adds it to OBSE, but atleast I could get started.

Thanks Arius

Awesome, I see what I am looking for in Beta2. Big thanks to Ian for that. I'll start seeing what I can do with TSFC (unless Tibixe beats me to it). Arius

Hey Tibixe, I'm having trouble getting some of your source. StringInfo.cpp/h are empty when I dl them. Plus, your code includes StringPersistence.cpp/h but I don't see this at all. Thanks Arius

Sorry for those, I don't have any experience managing real projects... StringInfo is empty on my disk, too. So that's just an unnecessary file. StringPersistence.h and cpp are missing because of old mistake of not adding new files to the repository. Those are not essential, you can compile without them. (You just have to comment three lines, IIRC) I can't fix it right now, but I'll fix it tomorrow. Again, I'm sorry. Tibixe 15:05, 15 November 2007 (EST)

Ok, thanks for the info. I had already commmented out what I needed to compile and it seems to work. I just thought I'd check in case I there was something important there. I'm currently playing around with things to figure out the parameters for the messagebox. Arius