[Rel] ConScribe

Post » Wed Mar 09, 2011 8:05 am

I'm unable to reproduce your issue on my end. Then again, I did make a lot of changes to the code sometime ago - Might have fixed it then.
Looking at the source code on my end I noticed that you create a temp ConScribeLog in the ReadFromLog function but you don't delete it afterwards. Unlike in the Scribe function where it gets deleted at the end.

By the way, do you have any other requests ? Now might be a good time to hear them.
Requests.....um none I can think of. Well apart from the aformentioned PurgeLog function ofcourse.
User avatar
Laurenn Doylee
 
Posts: 3427
Joined: Sun Dec 03, 2006 11:48 am

Post » Wed Mar 09, 2011 12:32 pm

Looking at the source code on my end I noticed that you create a temp ConScribeLog in the ReadFromLog function but you don't delete it afterwards. Unlike in the Scribe function where it gets deleted at the end.
Yeah, that's what I'd fixed earlier.
User avatar
Tina Tupou
 
Posts: 3487
Joined: Fri Mar 09, 2007 4:37 pm

Post » Tue Mar 08, 2011 11:06 pm

http://www.tesnexus.com/downloads/file.php?id=26510
Version 9.0 is out !
Requires OBSE 19


Changes:

9.0 -
  • New Commands : GetLogLineCount, DeleteLinesFromLog
  • RegisterLog returns -1 when it fails
  • Fixed a bug that prevented UnRegisterLog from deleting the default log when log name was passed as '*.*'
  • Fixed a memory leak in the ReadFromLog handler
  • Moved default log directory inside the Data folder to increase compatibility with installers. Existing logs need to be moved manually.
  • Rewrote the INI manager as a new library
  • Optimised ReadFromLog handler
  • Temporarily removed support for CSE’s IntelliSense

User avatar
Tanya
 
Posts: 3358
Joined: Fri Feb 16, 2007 6:01 am

Post » Wed Mar 09, 2011 6:53 am

Super minor tweak needed for the OBMM info: you still have the version number listed as 8.0. Just caused me a bit of confusion - like that takes much work :) Now, if I could just figure out what's wrong with the mod I'm trying to debug (not mine :)).

EDIT: Actually I can't get 9.0 working. It's reporting that my version of OBSE is too old. I'm using the "Current stable version v0018" from the OBSE page. I just reinstalled it to make sure. Is this not the final version? Or do you require the v19 beta? Could you put a version check in the OBMM install script so I get an error when I try to install it? I don't normally run beta versions, but I can if Conscribe requires it. In the OBSE log, the version is reported as 18.6 010201A0. The DLL is dated Apr 16, 2010.
User avatar
Jack
 
Posts: 3483
Joined: Sat Oct 20, 2007 8:08 am

Post » Tue Mar 08, 2011 11:54 pm

EDIT: Actually I can't get 9.0 working. It's reporting that my version of OBSE is too old. I'm using the "Current stable version v0018" from the OBSE page. I just reinstalled it to make sure. Is this not the final version? Or do you require the v19 beta? Could you put a version check in the OBMM install script so I get an error when I try to install it? I don't normally run beta versions, but I can if Conscribe requires it. In the OBSE log, the version is reported as 18.6 010201A0. The DLL is dated Apr 16, 2010.
Oops - Yeah, you need OBSE v19 beta. I'll mention it in the update post.
User avatar
Khamaji Taylor
 
Posts: 3437
Joined: Sun Jul 29, 2007 6:15 am

Post » Wed Mar 09, 2011 12:34 am

Thanks shadeMe. Another question: I have a mod that I'm trying to debug that has a "main" script. I put the registerLog call in that script. In another script, I've got the Scribe calls. I don't need the registerLog call in the same script do I? It looks like the log is being registered ok, but I can't find the log file. I left the location set to default, so the log should be in the per-mod folder, shouldn't it? However, if I have to re-register the log in each script, then that would explain why there's no log file. I was hoping to register in one location and then have several scribe calls in my various scripts...
User avatar
Harry Hearing
 
Posts: 3366
Joined: Sun Jul 22, 2007 6:19 am

Post » Wed Mar 09, 2011 6:17 am

Thanks shadeMe. Another question: I have a mod that I'm trying to debug that has a "main" script. I put the registerLog call in that script. In another script, I've got the Scribe calls. I don't need the registerLog call in the same script do I?
No, you don't. RegisterLog assigns logs for the entire mod.

It looks like the log is being registered ok, but I can't find the log file. I left the location set to default, so the log should be in the per-mod folder, shouldn't it? However, if I have to re-register the log in each script, then that would explain why there's no log file. I was hoping to register in one location and then have several scribe calls in my various scripts...
Are you passing the name of your log to the scribe command ? Registered logs should go to the Per-Mod folder. Please post the contents of ConScribe.log.
User avatar
No Name
 
Posts: 3456
Joined: Mon Dec 03, 2007 2:30 am

Post » Wed Mar 09, 2011 6:07 am

No, you don't. RegisterLog assigns logs for the entire mod.

Are you passing the name of your log to the scribe command ? Registered logs should go to the Per-Mod folder. Please post the contents of ConScribe.log.

No, I set it as default. Actually I just got it working (like a second ago). It turns out one of the scripts isn't firing for some reason. Another one is and the log has now been created. I thought that as soon as the log was registered, the file was created, even if it was zero bytes. This would tell me that my setup was correct, but it was a problem with the script. Hint, hint :)

Thanks, shadeMe, all's good! Except this stupid mod, of course :frown:

Edit: Ah, that would be the one I'm debugging, not yours!!
User avatar
Damian Parsons
 
Posts: 3375
Joined: Wed Nov 07, 2007 6:48 am

Post » Tue Mar 08, 2011 9:27 pm

ShadeMe,

I'm still having some trouble getting Conscribe to cooperate... I have registered a log and that's working fine. However, now any output to the console isn't being captured in the Conscribe log - in fact, the Consribe log isn't being created anymore. At one point, the log I had registered was registered as a default, but I have removed the default flag from the registerLog function. I would like to be able to scribe specific things to the log I've registered, but I want all output to the console to be captured in the general Conscribe log. How do I configure it to do this? I have also changed the ScribeMode to perSession. That was working ok until I registered a log in my mod.
User avatar
Kit Marsden
 
Posts: 3467
Joined: Thu Jul 19, 2007 2:19 pm

Post » Wed Mar 09, 2011 2:41 am

I went back to 8.0c because I really thought I had this working before - see my previous note, above. However, I'm getting the same behaviour... The only way I can get the console messages written to the log is to change the log mode to static, which I really don't want in this case. Could you change it so that a general log is created when the log mode is PerSession even though a separate log has been registered in a mod? I have found that the PerSession logs aren't working anymore and the only thing I can think of is the fact that I have a log registered in a mod I'm working on. I still need to get the general console messages logged (I'm also using ar_Dump for debugging and that writes to the console, for example). It's not just the ar_dump commands - there are some others too.

I'll try unregistering the log in my mod, but I will have to go through and strip out all the scribe statements I have :(
User avatar
Chavala
 
Posts: 3355
Joined: Sun Jun 25, 2006 5:28 am

Post » Wed Mar 09, 2011 2:32 am

ShadeMe,

I'm still having some trouble getting Conscribe to cooperate... I have registered a log and that's working fine. However, now any output to the console isn't being captured in the Conscribe log - in fact, the Consribe log isn't being created anymore. At one point, the log I had registered was registered as a default, but I have removed the default flag from the registerLog function. I would like to be able to scribe specific things to the log I've registered, but I want all output to the console to be captured in the general Conscribe log. How do I configure it to do this? I have also changed the ScribeMode to perSession. That was working ok until I registered a log in my mod.
I went back to 8.0c because I really thought I had this working before - see my previous note, above. However, I'm getting the same behaviour... The only way I can get the console messages written to the log is to change the log mode to static, which I really don't want in this case. Could you change it so that a general log is created when the log mode is PerSession even though a separate log has been registered in a mod? I have found that the PerSession logs aren't working anymore and the only thing I can think of is the fact that I have a log registered in a mod I'm working on. I still need to get the general console messages logged (I'm also using ar_Dump for debugging and that writes to the console, for example). It's not just the ar_dump commands - there are some others too.

I'll try unregistering the log in my mod, but I will have to go through and strip out all the scribe statements I have :(
I can't reproduce the issue on my end. Please post your code and the contents of ConScribe.log.
User avatar
Suzy Santana
 
Posts: 3572
Joined: Fri Aug 10, 2007 12:02 am

Post » Wed Mar 09, 2011 2:45 am

Conscribe log:
ConScribe initialized!Registered to receive messages from CSE


It's interesting that it no longer shows my "modlog" as being registered, even though the scribe commands are working. I did go from version 9 back to 8.0c, so perhaps this is why. However, I'm finding that 8.0c isn't working any better than 9, so I could probably go back to 9.

Here's the registerlog command (just a portion of the entire script):
short regLogbegin gamemodeif (regLog == 0)	registerLog "ModLog"	set regLog to 1endif...


I have explicit scribe statements in various scripts and when the appropriate conditions are met, they are correctly written to the log.

Here's an example of a scribe statement:
	Scribe "Start of arrayNPC scan script" 0


Now I have this set to not output the line to the console, I know that. What I find interesting is that this gets written to the mod log even though I don't have the mod log set to default. I used to have it set that way, but I changed it. Apparently Conscribe still thinks it's a default log. I have to capture the contents of multi-level arrays so I am using a user function called ArrayDeepDump. This outputs the results to the console and would be a pain to convert it to use scribe statements. I would rather it remain generic. The only way I can get that output is if I set the log mode to static, which means the log gets overwritten each time I run the game. I would like to use PerSession so I have multiple copies of the logs.

I have been reluctant to unregister the log because I don't want to remove all the scribe statements. Could I unregister the log and then immediately register it again?

I am pretty sure I had this working with 8.0c and OBSE 18. I'm still running OBSE 19b4.
User avatar
Nicole M
 
Posts: 3501
Joined: Thu Jun 15, 2006 6:31 am

Post » Wed Mar 09, 2011 12:44 am

Ok, I tried some more testing and there is definitely something odd going on. I unregistered the log, but left the scribe statements in - they continued to write to the log! I did a findtext in the CS and confirmed that it was only the one script that had the registerlog or unregisterlog statements. Then I went in and changed the unregisterlog to delete it as well - that worked, but I'm still not getting any session logs. I'm also not getting any errors from the scribe statements.

Here's the Consribe log now:
Spoiler

INI Path: C:\Games\Oblivion\Data\OBSE\Plugins\ConScribe.ini
Root set to default directory

Backing up logs...


INI Options:
ScribeMode = PerSession
Includes =
Excludes =
TimeFormat = %d-%m-%Y %H:%M:%S
LogBackups = -1
RootDirectory = C:\Games\Oblivion\

ConScribe initialized!


LoadGame callback! Reading records ...

Mod 'Oblivion XP.esp' registered

Done loading from cosave; Dumping database ...

Registered Logs
================

Oblivion XP.esp : [ default: (null) ]



Appending log headers...

Deleted 'OblivionXP'
Deleted 'OblivionXP'
Deleted 'OblivionXP'
Deleted 'OblivionXP'
Deleted 'OblivionXP'

SaveGame callback! Dumping records ...
Done dumping database to cosave


How do I get my perSession logging back? I'll remove the unregisterlog statement and won't register a new one. I'll also comment out the scribe statements.

I'm still running 8.0c with OBSE 19b4.

Edit: Also I see now in my previous post that conscribe had overwritten the log when I went into the CS - unfortunately that's all I had at the time. It doesn't do backups...
User avatar
sexy zara
 
Posts: 3268
Joined: Wed Nov 01, 2006 7:53 am

Post » Wed Mar 09, 2011 2:11 am

Hmm, not sure when this happened, but I just noticed that my Conscribe isn't doing anything. It's just on default settings, which previously would log everything in the console, but now the ConScribe Logs directory isn't even created. :shrug:

I'm using v9.0. Any info you want from me? Here's my ConScribe.log:

Spoiler
INI Path: C:\Program Files (x86)\Bethesda Softworks\Oblivion\Data\OBSE\Plugins\ConScribe.iniRoot set to default directoryBacking up logs...INI Options:	ScribeMode = Static	Includes = 	Excludes = 	TimeFormat = %m-%d-%Y %H-%M-%S	LogBackups = -1	RootDirectory = C:\Program Files (x86)\Bethesda Softworks\Oblivion\Data\ConScribe initialized!LoadGame callback! Reading records ...Mod 'Enhanced Grabbing.esp' registeredMod 'Enhanced Grabbing.esp' registered 'PiiiP - Debug Log' as a logDone loading from cosave; Dumping database ...Registered Logs================Enhanced Grabbing.esp : [ default: PiiiP - Debug Log ]	PiiiP - Debug LogAppending log headers...Mod 'DarNifiedUI Config Addon.esp' registeredMod 'DarNifiedUI Config Addon.esp' registered 'DarN Config - Settings' as a logMod 'DarNifiedUI Config Addon.esp' unregistered log 'DarN Config - Settings'Mod 'DarNifiedUI Config Addon.esp' registered 'DarN Config - Settings' as a logDefault log index for 'DarNifiedUI Config Addon.esp' set to 0Mod 'DarNifiedUI Config Addon.esp' unregistered log 'DarN Config - Settings'Default log for 'DarNifiedUI Config Addon.esp' resetDeleted 'DarN Config - Settings'Mod 'DarNifiedUI Config Addon.esp' registered 'DarN Config - Settings' as a logDefault log index for 'DarNifiedUI Config Addon.esp' set to 0Mod 'DarNifiedUI Config Addon.esp' unregistered log 'DarN Config - Settings'Default log for 'DarNifiedUI Config Addon.esp' resetLog name 'PiiiP - Debug Log' passed in script 94003101 already registered

User avatar
josie treuberg
 
Posts: 3572
Joined: Wed Feb 07, 2007 7:56 am

Post » Wed Mar 09, 2011 4:31 am

In version 9, he moved the conscribe logs directory to the data folder - are you looking at the right one? :)
User avatar
Cagla Cali
 
Posts: 3431
Joined: Tue Apr 10, 2007 8:36 am

Post » Wed Mar 09, 2011 1:28 pm

In version 9, he moved the conscribe logs directory to the data folder - are you looking at the right one? :)

:facepalm:

Nothing more needs to be said, I think. Forgot about that.
User avatar
Alyna
 
Posts: 3412
Joined: Wed Aug 30, 2006 4:54 am

Post » Wed Mar 09, 2011 9:44 am

Would you be willing to change your log mode to PerSession and see if that works? Misery loves company you see, and I can't get it to work when I also have a mod log registered ;)
User avatar
Taylah Haines
 
Posts: 3439
Joined: Tue Feb 13, 2007 3:10 am

Post » Tue Mar 08, 2011 11:05 pm

Hopefully this is my last post for the day :)

I have removed all registerlog statements and commented out my scribe statements and Conscribe is still convinced I have a log registered and is still not creating any session logs:
Spoiler

INI Path: C:\Games\Oblivion\Data\OBSE\Plugins\ConScribe.ini
Root set to default directory

Backing up logs...


INI Options:
ScribeMode = PerSession
Includes =
Excludes =
TimeFormat = %d-%m-%Y %H:%M:%S
LogBackups = -1
RootDirectory = C:\Games\Oblivion\

ConScribe initialized!


LoadGame callback! Reading records ...

Mod 'Oblivion XP.esp' registered

Done loading from cosave; Dumping database ...

Registered Logs
================

Oblivion XP.esp : [ default: (null) ]



Appending log headers...


SaveGame callback! Dumping records ...
Done dumping database to cosave


SaveGame callback! Dumping records ...
Done dumping database to cosave


I'll remove Conscribe for now and reinstall it later. Don't know why it's so persistent!
User avatar
Trista Jim
 
Posts: 3308
Joined: Sat Aug 25, 2007 10:39 pm

Post » Wed Mar 09, 2011 12:14 pm

Sorry, not by any stretch of my imagination I can find it in the manuals anymore...

How do I register a specific mod via in-game console? I just recall that it was possible with older versions, something like [cmd] mod's load number [in hex]...
User avatar
Lewis Morel
 
Posts: 3431
Joined: Thu Aug 16, 2007 7:40 pm

Post » Wed Mar 09, 2011 4:53 am

I tried reinstalling 9.0 and it's definitely not working. I'm starting to wonder if the problem is OBSE v 19b4 though. I had the registerlog statement commented out in my script, but Conscribe registered it anyway! It's also not reading the changes I made to the ini file, even though Conscribe.log correctly lists them. I changed the date format to d/m/y, but it's still listing dates as m/d/y. I also changed the log mode to PerSession but it's still creating static logs - once again the Conscribe.log file said the log mode was PerSession. I can't paste the contents of the Conscribe log because they were overwritten when I went into the CS.
User avatar
rebecca moody
 
Posts: 3430
Joined: Mon Mar 05, 2007 3:01 pm

Post » Wed Mar 09, 2011 7:49 am

Hopefully this is my last post for the day :)

I have removed all registerlog statements and commented out my scribe statements and Conscribe is still convinced I have a log registered and is still not creating any session logs:
Spoiler

I'll remove Conscribe for now and reinstall it later. Don't know why it's so persistent!
The plugin saves registration data to the co-save. It appears you load a save state that has a log registered.

How do I register a specific mod via in-game console? I just recall that it was possible with older versions, something like [cmd] mod's load number [in hex]...
You can't. The command's handler uses internal code to fetch the calling mod's data. I don't believe I ever changed that mechanism.


I tried reinstalling 9.0 and it's definitely not working. I'm starting to wonder if the problem is OBSE v 19b4 though. I had the registerlog statement commented out in my script, but Conscribe registered it anyway! It's also not reading the changes I made to the ini file, even though Conscribe.log correctly lists them. I changed the date format to d/m/y, but it's still listing dates as m/d/y. I also changed the log mode to PerSession but it's still creating static logs - once again the Conscribe.log file said the log mode was PerSession. I can't paste the contents of the Conscribe log because they were overwritten when I went into the CS.
Those symptoms seem to point to ConScribe being unable to locate the INI file and therefore resorting to the default values. Try deleting the existing INI to let a new one be generated.
User avatar
emma sweeney
 
Posts: 3396
Joined: Fri Sep 22, 2006 7:02 pm

Post » Wed Mar 09, 2011 10:03 am

The plugin saves registration data to the co-save. It appears you load a save state that has a log registered.


Those symptoms seem to point to ConScribe being unable to locate the INI file and therefore resorting to the default values. Try deleting the existing INI to let a new one be generated.

How do I unregister a log then? Even when I unregister a log, it still creates one and I can write to it!

I delete the ini file when I reinstall Conscribe. After running the game once, I go in and change the settings in the ini file. It seems to register the changes, but as I've described previously, the logging isn't working. I've gone back to 8.0c and OBSE 18 final and it hasn't helped.

I've given up on getting session logs. :angry: I am getting per Mod logs even though the log I registered is not the default and I am not writing explicitly to that log! I thought you were supposed to get per Script logs in this case...

I do feel for you, man! I wouldn't want to debug this puppy. I know you have to deal with your code and whatever OBSE might be doing... I do wish I could get this working though!
User avatar
Sunnii Bebiieh
 
Posts: 3454
Joined: Wed Apr 11, 2007 7:57 pm

Post » Wed Mar 09, 2011 9:00 am

Well, I got one thing working the way it should :) Now my scribe statements write to the per script logs as they should. What did I do? Install OBSE v 19 beta 4.1. This is a test beta released by Scruggsy. I did go through and clean up the register and unregisterlog functions a bit, but I was still getting the same behaviour I described in previous posts. The two most notable things are that even though I haven't registered my mod log as a default, scribe was writing to it anyway even though I didn't include the pipe to direct it to the log file. The second notable thing is that PerSession logging isn't working. After upgrading to OBSE v19 b 14.1, I now have Per Script logging for the first time ever. Seeing that that was working, I tried switching to PerSession logging and that still isn't working. I can live with Static logging - I'll back up the static log myself if I need it.

So there might be something in OBSE v19 b4.1 that fixed something. Either that or it's the old "reboot 6 times" and it will start working. And yes, that is the advice I've been given in the past when trying to get network privileges to work under Windows XP. I had to reboot exactly 6 times and then the network settings started to work :)

Just thought I'd post an update...
User avatar
Ebou Suso
 
Posts: 3604
Joined: Thu May 03, 2007 5:28 am

Post » Wed Mar 09, 2011 10:23 am

I'm using ConScribe 9.0 (the latest version of TesNexus)

I can't run Oblivion with it:
Whatever savegame I load, the game CTD just after the loading bar fill-up.
I can see my PG for about 0.1 seconds, then CTD.
When I look in the logs of ConScribe (either per-mod or per-script), the files are empty.
It crash just before it can write a single line in the log.
User avatar
Juan Suarez
 
Posts: 3395
Joined: Sun Nov 25, 2007 4:09 am

Post » Wed Mar 09, 2011 11:37 am

OK, I figure out what (but not why) is causing this:

I'm using Windows 7, and when Oblivion CTD, the crash details refers to EnhancedMusicControl.dll plugin.
When I remove it, the game run fine. For some reason, ConScribe and EnhancedMusicControl can't coexist.
User avatar
Daniel Brown
 
Posts: 3463
Joined: Fri May 04, 2007 11:21 am

PreviousNext

Return to IV - Oblivion