Tease AI General Discussion

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

User avatar
Trusfrated
Explorer At Heart
Explorer At Heart
Posts: 465
Joined: Mon Nov 08, 2010 8:41 am
Gender: Male

Re: Tease AI Open Beta

Post by Trusfrated »

Sorry, I still get a GDI error when browsing random blog images with Patch 29. I viewed half a dozen or so before the error came up. This wasn't happening to me at all until a couple days ago, now it is pretty common.

My Match Game is not working right anymore, either. No GDI error, but it just stops flipping cards about halfway through the game.
Spoiler: show
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.Image.SelectActiveFrame(FrameDimension dimension, Int32 frameIndex)
at System.Drawing.ImageAnimator.ImageInfo.UpdateFrame()
at System.Drawing.ImageAnimator.UpdateFrames(Image image)
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Tease AI
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///D:/installs/tweakUI/bin/td/tg/TeaseAI/Tease%20AI.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 12.0.51209.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34251 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34245 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Speech
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Speech/v4.0_4.0.0.0__31bf3856ad364e35/System.Speech.dll
----------------------------------------
AxInterop.WMPLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///D:/installs/tweakUI/bin/td/tg/TeaseAI/AxInterop.WMPLib.DLL
----------------------------------------
Interop.WMPLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///D:/installs/tweakUI/bin/td/tg/TeaseAI/Interop.WMPLib.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
Assembly Version: 1.0.0.0
Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
ImageImage
User avatar
ark235
Explorer
Explorer
Posts: 48
Joined: Tue Jul 19, 2011 8:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Location: Somewhere!

Re: Tease AI Open Beta

Post by ark235 »

Just to add I had it throw the GDI error on patch 27 when it was using the @ShowBoobsImage and @ShowButtImage, I've never had it before then.

Assume it's something to do with the change in the way you load images in that patch.
JustBeCos
Explorer
Explorer
Posts: 5
Joined: Sun Dec 07, 2014 11:12 pm

Re: Tease AI Open Beta

Post by JustBeCos »

Hi

I Have problem with Tease AI from patch 24, upto 23 it loaded fine but if I apply any patches after or install fresh a newer version i get a windows error "tease AI has stopped working" and then a box saying do you want to send more infomation.

Any ideas?
RebeilSolneman
Explorer
Explorer
Posts: 6
Joined: Thu Sep 17, 2009 3:37 pm
Location: Germany

Re: Tease AI Open Beta

Post by RebeilSolneman »

Is it possible to select a specific image directory (from the domme image directory) in a start script? It's a good idea that the directory is chosen randomly, but in some instances it might be a good idea to be able to set a chosen directory especially if you are thinking about developing the "playlist idea" further. E.g. one could choose appropriate picture sets for different kind of sessions then (teasing, punishment etc.).
User avatar
marspank
Explorer At Heart
Explorer At Heart
Posts: 840
Joined: Mon Sep 19, 2011 12:11 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive
Location: East Coast US

Re: Tease AI Open Beta

Post by marspank »

I was just going through the randomizer and had another GDI error. The problem might be with simply displaying the image, because my screen is showing the white background with a red x, but everytime I click on random blog image in the app, it is loading one into my session image folder successfully.
Datta. Dayadhvam. Damyata.
User avatar
1885
Explorer At Heart
Explorer At Heart
Posts: 648
Joined: Fri Jul 08, 2011 4:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: Tease AI Open Beta

Post by 1885 »

Okay, so after much deliberation I have decided to revert to the latest build since before the first github merge, and then go back in and add my revisions to verify dates and makes sure all images in a folder were getting pulled. As much as I appreciate the contributions of those with more experience with me, I realize that I just can't have code in my program that I don't personally understand. I need to know exactly what everything is doing in order to insure that I can fix bugs that come up on my own. I will continue to learn and improve I am sure, but for the moment I'm afraid my code is going to have to walk the fine line between sloppily executed and functioning as intended

Patch 30

https://mega.co.nz/#!TNdjwA6T!S2gIhuSPG ... 47SPN4y8qo

Patch Notes:

Reverts code back to the last build that was fully mine, then added the Date and Image directory changes I made back in

I'll keep all builds handy just to see what happens, but I don't believe the GDI errors should resurface. Please let me know how this build works for you. As meticulous as I tried to be about putting the new code back in, it's possible I may have overlooked something. Just let me know any feedback you have
Attachments
OB Patch 30.rar
Tease AI Open Beta Patch 30
(754.04 KiB) Downloaded 98 times
Image
connact113
Explorer
Explorer
Posts: 36
Joined: Thu Jun 30, 2011 3:48 am
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: Tease AI Open Beta

Post by connact113 »

Anyone have links to good image sets? I never really saved local image sets, so now scrambling to fill in some of the categories for the program.
connact113
Explorer
Explorer
Posts: 36
Joined: Thu Jun 30, 2011 3:48 am
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: Tease AI Open Beta

Post by connact113 »

connact113 wrote:Anyone have links to good image sets? I never really saved local image sets, so now scrambling to fill in some of the categories for the program.
Answered my own question. Found a program called Tumblone https://tumblone.wordpress.com.

Put in a tumblr blog address and it will crawl it, saving all images to a directory. If you use themed tumblr's (lesbian, femdom, captions etc....) it is easy to get a large image set already divided up by theme.
User avatar
marspank
Explorer At Heart
Explorer At Heart
Posts: 840
Joined: Mon Sep 19, 2011 12:11 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive
Location: East Coast US

Re: Tease AI Open Beta

Post by marspank »

connact113 wrote:
connact113 wrote:Anyone have links to good image sets? I never really saved local image sets, so now scrambling to fill in some of the categories for the program.
Answered my own question. Found a program called Tumblone https://tumblone.wordpress.com.

Put in a tumblr blog address and it will crawl it, saving all images to a directory. If you use themed tumblr's (lesbian, femdom, captions etc....) it is easy to get a large image set already divided up by theme.
Actually, the program allows you to do this for you as well, when you generate a URL file you can save the images to your local drive as well.
Datta. Dayadhvam. Damyata.
User avatar
Vinc
Explorer At Heart
Explorer At Heart
Posts: 213
Joined: Sat Oct 29, 2011 10:21 pm
Gender: Male
Sexual Orientation: Straight

Re: Tease AI Open Beta

Post by Vinc »

Hey,

the Match game is not working for me. It just messes up the right matches and there is no right combination.

And I think the slot machine game has a little problem too.
f1.JPG
f1.JPG (13.39 KiB) Viewed 2387 times
User avatar
1885
Explorer At Heart
Explorer At Heart
Posts: 648
Joined: Fri Jul 08, 2011 4:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: Tease AI Open Beta

Post by 1885 »

connact113 wrote:Put in a tumblr blog address and it will crawl it, saving all images to a directory. If you use themed tumblr's (lesbian, femdom, captions etc....) it is easy to get a large image set already divided up by theme.
marspank wrote:Actually, the program allows you to do this for you as well, when you generate a URL file you can save the images to your local drive as well.
As he said, when you create a URL File, if you look under the picture box there's a browse button and a "Saved Image Directory" field. If you browse for or enter a directory to save the images, and check the "Save Images to Disk" button, Tease AI will save the highest resolution of all the images it finds to your hard drive.
ariareflection wrote:Just looked at the code of LookAtPictures, IWouldCallThatABargain, PicturesSolo... and i noticed that you haven't used @LockImages
Those scripts don't need the @LockImages Command. The latter will naturally cause the domme's image to reappear at the appropriate time, and LookAtPictures doesn't need it because the domme's image doesn't change during multiple choice branches
ariareflection wrote:If someone set their slideshow to change pictures every x seconds, wouldn't that override @NewBlogImage, @ShowBlowjobImage etc?
Good point, I added a flag to prevent this and will be in the next patch
ariareflection wrote: As for CensorshipSucks... it would be more frustrating if it worked the other way around.
Stroke whenever the bar is ON... and hands-off whenever the bar is OFF. :lol:
Some point I'll have to see about making Censorship Rules then :lol:
Vinc wrote:the Match game is not working for me. It just messes up the right matches and there is no right combination.
Are you using the latest patch 30 and it still causes that problem? I may need to make similar changes again like I made for ds's code. I'll go ahead and do tjhat anyway since it won't hurt anything for anyone else and may solve this problem for you
Vinc wrote:And I think the slot machine game has a little problem too.

f1.JPG
You shouldn't be able to move the bet amount to less than 0, you shouldn't be able set the bet amount to more than you have, and you shouldn't be able to set the bet amount while the reels are spinning. So how did you do that? :lol:
Image
123456
Explorer
Explorer
Posts: 15
Joined: Thu Nov 25, 2010 11:37 pm

Re: Tease AI Open Beta

Post by 123456 »

1885 wrote:
You shouldn't be able to move the bet amount to less than 0, you shouldn't be able set the bet amount to more than you have, and you shouldn't be able to set the bet amount while the reels are spinning. So how did you do that? :lol:
This happens because you check (slotbet <= bronze token) only when the bet is set and not also when you click on the spin button.
So, for exemple, you have 25 bronze tokens, you set bet at 3 then you go buy a pack and you can come back with 0 bronze token but can spin the wheel. If you lose, your amount of bronze tokens will be -3. And because when your amount of tokens is less then the bet , the bet is set at your amount of tokens, you'll have a negative bet.
kopal37
Explorer
Explorer
Posts: 20
Joined: Fri Dec 07, 2012 10:43 am

Re: Tease AI Open Beta

Post by kopal37 »

So I just got a chance to take a look at your code - holy crap, dude. I'll encapsulate my advice: (take it for what it's worth)
Spoiler: show
I'm surprised you're still able to make sense of this! My advice would be to think about breaking up each piece of functionality into it's own class. This will let you use classes as a sort of "labeled bin" to keep up your project's maintainability. I have no doubt that you can continue to make progress the way its written, but what you don't realize is how much overhead you have because you have to scroll through 15,000 lines of code for your first form (for instance). Second piece of advice is naming. Naming, naming, naming. Names will help you know exactly where to go for what you're looking for. God forbid you take like a couple month break from looking at this and try to come back to it - you'd lose a week just trying to relearn where everything is.

Edit: Oh, also - You should be able to add sections in your code using the following syntax:

#Region regionname
#EndRegion

Edit2: I see that you already did this. ;)

*cough* {c# is better} *cough*
I'm impressed, though. Seriously. Keep learning, and keep up the good work!

If I run into any more bugs during my perusing, I'll take a look at the code and try to do a better job of pinpointing the cause to save you time.

Cheers. :-D
kopal37
Explorer
Explorer
Posts: 20
Joined: Fri Dec 07, 2012 10:43 am

Re: Tease AI Open Beta

Post by kopal37 »

So I had a little bit more time tonight, and thought I'd look for an easy way to improve the functionality. I thought it would be cool if when you right click a browse button, it cleared its associated text. So I took this opportunity to modularize your event handler logic.

I've written a function that you can just call in each of your event handlers for the path buttons (in place of the current logic) to handle both left and right button clicks for the image directories. I'll include the before and after code here along with the function code itself, so you can implement it if you decide it's worthwhile. I have, however, tested it, and it works.

Example Event handler before:

Code: Select all

     Private Sub BTNBoobPath_Click(sender As System.Object, e As System.EventArgs) Handles BTNBoobPath.Click        If (FolderBrowserDialog1.ShowDialog() = DialogResult.OK) Then            LBLBoobPath.Text = FolderBrowserDialog1.SelectedPath            My.Settings.LBLBoobPath = LBLBoobPath.Text            My.Settings.Save()        End If    End Sub 
Example Event handler after:

Code: Select all

 Private Sub BTNBoobPath_Click(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles BTNBoobPath.MouseDown        Dim PropValue As String = My.Settings.LBLBoobPath        If (ClickHandle(e, PropValue, LBLBoobPath, FolderBrowserDialog1)) Then            My.Settings.LBLBoobPath = PropValue            My.Settings.Save()        End If    End Sub 
And... Function defintion.

Code: Select all

 Private Function ClickHandle(ByVal e As System.Windows.Forms.MouseEventArgs,                                 ByRef PropertyToUpdate As String,                                 ByRef LabelToUpdate As System.Windows.Forms.Label,                                 ByRef FolderBrowse As System.Windows.Forms.FolderBrowserDialog) As Boolean        'handle Right click here        If (e.Button = Windows.Forms.MouseButtons.Right) Then            PropertyToUpdate = String.Empty            LabelToUpdate.Text = String.Empty            Return True            'handle Left click here        ElseIf (e.Button = Windows.Forms.MouseButtons.Left) Then            If (FolderBrowse.ShowDialog() = DialogResult.OK) Then                LabelToUpdate.Text = FolderBrowse.SelectedPath                PropertyToUpdate = FolderBrowse.SelectedPath                Return True            Else                Return False            End If        End If    End Function 
A few key points to notice - pass in the relevant controls (MouseEventObject, PropertyTextToBeUpdated, labelToBeUpdated, FolderBrowserDialogThatYouAlreadyDefined). The idea is to abstract away the details of how you update the fields and reduce the amount of work that goes into setting up a browse/label combo... While also allowing the ability to clear the label and settings by right clicking the button. The reason this works, is because the controls and especially the "PropertyToBeUpdated" text is passed by reference - meaning any changes to it inside the function will happen outside as well. Hence, when the function returns, your variable you passed in now has the updated value, ready to be saved back to Settings.

It's also important to notice that now, if you decide to add any more functionality to the MouseDown handler, you can add it to that function only, and the change will be passed out to every click handler that you have set up to call that function.

Cheers. :wave:
User avatar
1885
Explorer At Heart
Explorer At Heart
Posts: 648
Joined: Fri Jul 08, 2011 4:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: Tease AI Open Beta

Post by 1885 »

Thanks for all the input so far peoples, and with that another patch:

Patch 31

https://mega.co.nz/#!iAE31KQS!3e9m_Nr2y ... oCewdFe0n8

Patch Notes:

Changed the way the code checked for what image was being displayed in various picture boxes, If you were having problems getting Match cards to work right for instance, this should correct the problem

Fixed bug that allowed the slot machine to be spun after returning to the Slots tab with no money from another tab

Finally tracked down and fixed the bug in Exchange that would sometimes cause Gold card draws to not appear when opening booster packs

@CockTorture Filter Command added: Will filter out the line if Cock Torture is not enabled

@BallTorture Filter Command added: Will filter out the line if BallTorture is not enabled
(I had these two in already, but they were lost when I reverted the code. They're back in now)

If you're getting any more crashes after this patch, please let me know what they are so I can add them the list of critical bugs. I haven't heard anyone say the date system doesn't work, so I'll strike that off the critical list. I haven't heard of any lines getting eaten during Taunt->Module transition either, so I"ll cautiously cross that off the critical list as well.

My main concern is getting this build as stable as possible, but I don't know what's still borked as of patch 30. The revert could have fixed a lot of problems, so please report any problems you're still having after this patch, even if you reported them before. If it starts looking like things are finally getting straightened out, I';; get back to adding features and see where we go from there :-)
123456 wrote:This happens because you check (slotbet <= bronze token) only when the bet is set and not also when you click on the spin button.
So, for exemple, you have 25 bronze tokens, you set bet at 3 then you go buy a pack and you can come back with 0 bronze token but can spin the wheel. If you lose, your amount of bronze tokens will be -3. And because when your amount of tokens is less then the bet , the bet is set at your amount of tokens, you'll have a negative bet.
Thanks for pointing this out, was able to get it fixed :-)
kopal37 wrote:So I just got a chance to take a look at your code - holy crap, dude.
Please excuse my mess :lol: :construction:
kopal37 wrote:I'm surprised you're still able to make sense of this! My advice would be to think about breaking up each piece of functionality into it's own class. This will let you use classes as a sort of "labeled bin" to keep up your project's maintainability. I have no doubt that you can continue to make progress the way its written, but what you don't realize is how much overhead you have because you have to scroll through 15,000 lines of code for your first form (for instance). Second piece of advice is naming. Naming, naming, naming. Names will help you know exactly where to go for what you're looking for. God forbid you take like a couple month break from looking at this and try to come back to it - you'd lose a week just trying to relearn where everything is.
I'm a little amazed I'm able to keep sense of it all myself, but somehow I am. You are definitely right with this advice though, and I do plan on cleaning things up as I go along. I learned a lot along the way, and I really want to go through and create some functions to clean up the copy paste jobs and clean up the earlier code to to something simpler than what I knew was possible at the time
kopal37 wrote:*cough* {c# is better} *cough*
squiggly brackets! My weakness.....my weakness........... :sick:
kopal37 wrote:If I run into any more bugs during my perusing, I'll take a look at the code and try to do a better job of pinpointing the cause to save you time.
Thanks you very much, I appreciate that :-)

I'll look over your code you posted and see about getting it implemented. I do have some of these things in place (you can double click local image paths to clear them for instance), but it would be nice to have a universal application of it like this. I'll definitely check it out :-)
Attachments
OB Patch 31.rar
Tease AI Open Beta Patch 31
(758.04 KiB) Downloaded 75 times
Image
Post Reply