How do I use nested global javascript. According to the issue tracker (https://github.com/guide-me/GuideMe/issues/6) this is in 1.3 but I can't figure out how to make it work. I've tried in Guideme 1.3 and 1.5.
I have two simple javascript files file1.js and file2.js.
Here's file1 for example:
<?xml version="1.0" encoding="windows-1250"?>
<GlobalJavascript>
<![CDATA[
function function1() {
jscriptLog("This is function 1");
}
]]>
</GlobalJavascript>
@Playfulguy
For me it only works when i save the whole GlobalJavascript Node in an extra .js file...
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
How do I use nested global javascript. According to the issue tracker (https://github.com/guide-me/GuideMe/issues/6) this is in 1.3 but I can't figure out how to make it work. I've tried in Guideme 1.3 and 1.5.
I have two simple javascript files file1.js and file2.js.
There are no messages logged in Guideme.log regarding loading the included files (either success or failure).
Thanks
You include the file outside of the GlobalJavascript node.
It then just treats it as it would multiple GlobalJavascript nodes.
How do I use nested global javascript. According to the issue tracker (https://github.com/guide-me/GuideMe/issues/6) this is in 1.3 but I can't figure out how to make it work. I've tried in Guideme 1.3 and 1.5.
I have two simple javascript files file1.js and file2.js.
There are no messages logged in Guideme.log regarding loading the included files (either success or failure).
Thanks
You include the file outside of the GlobalJavascript node.
It then just treats it as it would multiple GlobalJavascript nodes.
Multiple Globalscript Nodes are a thing? Great to know... i never tried that... thx a lot...
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
Just been thinking about the various things people have been doing in guideme.
What are your thoughts on being able to start another tease from within a tease?
I was thinking of doing something like adding a guide node to page so when you go to that page it switches to a new tease.
Do we need some sort of shared state between teases? Something like global scripvars available to all teases or the ability to get or save values to another teases scriptvars?
How should going back to the original tease be handled especially when it is a standalone tease that does not know it has been called by another tease?
Perhaps detecting that a page has no links to anywhere else so automatically add a button to return?
That might be pretty neat. I just gave it a moment's thought based on what you said and it seems like the best thing to do might be add a new guide function or page type that will let you load up another tease, then have some parameters you can pass during that time.
First parameter is what xml tease to load
second would be the page to go to, if null just let the guide load like normal
third would be an optional string of parameters, up to the new guide to parse
fourth is a default return guide to load
fifth is the page parameter for the return guide
sixth would be optional default parmeters to pass back
So basically I could get to a point in my tease where i'm like
"You slip through a trap door and have fallen into Iana's Maze!!!"
guide.loadTease(Ianas_maze.xml, "StartPage", "5,2,WHATTHEHECK,doHardMode,SomeOtherFlag", "myTease.xml", "StartPage", "UserDiedInMaze");
In iana's maze on the start page it would be able to get that paremeter string in the start page and do whatever it wants to with it (if the user makes it that way). Also might want an optional page to land on so you could leave your start page for single use, then another landing page to process variables or something.
The fallout page would be if guideme ever has a buttonless, delayless page that won't advance, it puts some sort of button up that will let you load the return xml, to the start page, with that parameter string.
I think that'll let you kind of jury rig in stand alone teases and wont leave you stranded. Maybe even have a menu option to 'return' just in case, though i guess you could file load it.
a GlobalScriptVars might work better than the parameter string but I think you'd have to worry about overcrowding the namespace somewhat, with the parameter string they either handle it or they dont.
You could also use the same stuff to make a start menu page of guideme's available, as well as have a 'random' button instead of running command line one, sort of like the landing page PG did for the script engine.
philo wrote:Just been thinking about the various things people have been doing in guideme.
What are your thoughts on being able to start another tease from within a tease?
I was thinking of doing something like adding a guide node to page so when you go to that page it switches to a new tease.
Do we need some sort of shared state between teases? Something like global scripvars available to all teases or the ability to get or save values to another teases scriptvars?
How should going back to the original tease be handled especially when it is a standalone tease that does not know it has been called by another tease?
Perhaps detecting that a page has no links to anywhere else so automatically add a button to return?
This would totally fit in with the large project I have in the works.
I think your idea of detecting a page with no links to anywhere and adding a return button is the safest approach for compatibility with "older" teases or teases that were not designed with this in mind. I don't have any brighter ideas.
For linking the teases I would want the "guide" node to have an attribute that specifies what page to go to when you return. Then I would want to return from the tease and go to that page with all the state of my original tease intact.
Beyond that I don't think we really need global variables or anything shared between the teases. If they get to that point they've already become parts of a larger whole and the author can handle that. Now having said that, desertfox's ideas for parameters that can get passed back and forth are excellent ones. Then you just need something like a <Return> node that lets a tease return to a caller with optional parameters that replace the defaults from desertfoxes suggestion (his sixth parameter).
The main things that have come up for me when I want to link teases together is the ability to indicate to the other tease whether or not the player is allowed to cum, and then the ability to know if the player came (or ruined), and therefore failed a task or challenge.
So, I know this has been covered, but as a brand new MacBook user, wondering if there is an easy way to get GuideMe (or TeaseMe for that matter) running on a MacBook Pro? I just inherited a semi-new one and the resolution is WAY better than my 7-year old porntop.
Again, I can't stress how much of a Mac n00b I am so - as they say in Reddit - ELI5, please.
supermokkori wrote:So, I know this has been covered, but as a brand new MacBook user, wondering if there is an easy way to get GuideMe (or TeaseMe for that matter) running on a MacBook Pro? I just inherited a semi-new one and the resolution is WAY better than my 7-year old porntop.
Again, I can't stress how much of a Mac n00b I am so - as they say in Reddit - ELI5, please.
Thanks
Unfortunately macs are a bit of a problem, I tend to avoid apple products, they are too much hasstle.
I am working on the linux version at the moment, the basic guideme stuff is working just need to get audio / video working, I am pretty sure apples operating system is unix based so if it works on linux we are most of the way to getting it working on mac.
I have no way of testing for the mac and am unlikely to ever have a mac, they are great if you only want to do what apple wants you to do with them, anything else is either a pain or near impossible.
I am more than happy to work with someone to get it working on mac but that is definitely not noob stuff and most IT people steer clear of macs (well maybe not project managers but they are rarely techies)
Hey philo I had a question about memory and guideme. So tonight I managed to crash guideme a few times, it was just really staying on the same page within guideme but just reloading it and changing images via overrides. I wasn't doing anything where I was creating or changing any variables to add memory, but eventually it just crashed. I thought I might be adding too many things to the scriptvars object or something but that didn't seem to be the case.
*edit* forgot I didn't describe the behavior. Basically it froze as it was loading a page, then when I relaunched guideme and loaded the tease, it again froze up. The only way to unstick it was to go in and delete the .state object, but eventually it kept happening as I was walking around.
I fixed it at first by adding the -xms and -xmx options to put the jvm memory up to 1 gb and that was enough for it to not crash.
Upon closer looking at things and some toying around, I think it might have something to do with images. I accidentally had a 7 GB picture in there that would periodically get displayed. Watching the task manager when that image popped up the JVM lept up around 200 MB or so or in ram usage.
I also noticed that once it grabs memory it never seems to be letting it go at all. I'm not sure how often the garbage collector runs on windows, but even with it up sitting a few hours it stayed right around 1gb of memory used, though again not sure if it runs the GC only when it needs to.
The big memory jumps were definitely tied to going to a page with the large image on it. I am in debug mode and have the debug window open so not sure if that is adding some overhead there either.
So, obviously will cut image sizes down, but though this might be worth tumbling around in your head in case something might be grabbing onto image references and never letting go of them, or it in extreme cases where say you have flipped through 500 images you'll always be in danger of running out of memory and having to reset the tease.
I've been testing in a vacuum doing one tease at a time for a while so everything has been ok on that front, but worried about when I start stringing everything together if I'll run out of memory or there is some picture threshold I might reach.
desertfox wrote:Hey philo I had a question about memory and guideme.
Sounds like a bug.
You have to dispose of images properly in the code, I may have introduced an issue at some point where it is not disposing of images properly, in which case they will remain in memory until guideme is closed.
I will have a look when I get time.
I have a high spec machine so don't tend to notice memory issues.
Same here, but the default jvm has a low ceiling without parameters. I've never had it ever crash or come up with an issue in any of the other teases, it could be really because I had such a large image that it made an issue.
I also was thinking that I'm setting both flags to 1gb which is the min and the max, so it might be really the jvm wrestling to get its 1gb of space on start up wrestling with the OS, not really sure.
desertfox wrote:Same here, but the default jvm has a low ceiling without parameters. I've never had it ever crash or come up with an issue in any of the other teases, it could be really because I had such a large image that it made an issue.
I also was thinking that I'm setting both flags to 1gb which is the min and the max, so it might be really the jvm wrestling to get its 1gb of space on start up wrestling with the OS, not really sure.
just set up a test with a lot of large images, single page changing the image on a timer every second.
I did get some pauses where it was struggling to keep up but no memory crashes.
Ran it in debug mode and visualVM and the heap was behaving, garbage collection was working.
It loads the image into memory and resizes on the fly so large images do need more memory, I suspect you may be right, the large image hit the maximum heap size.