Jump to content

The C.A.N.S. (Cooperative Algebraic Node Sizing) Framework


Recommended Posts

 

Yes I'm trying to make it CANS compatible and attach the magic effect .

 

The CANS magic effect is now irrelevant. When 0.18 rolls out the implementation post will be rewritten as well to reflect the changes.

 

To make this compatible add the CANS_Framework property up at the top, CANS.RegisterMyMod function wherever the effect/quest/script starts affecting a new actor, and replace the NiOverride calls to the Belly, Breast, and Butt nodes with CANS.Belly, CANS.Breast, and CANS.Butt calls. 

 

YES!

YES!

 

For now I'll shove an NIO patch for FHU out the door, then change it to CANS when your new version comes out.

Thanks!

Link to comment

 

 

Yes I'm trying to make it CANS compatible and attach the magic effect .

 

The CANS magic effect is now irrelevant. When 0.18 rolls out the implementation post will be rewritten as well to reflect the changes.

 

To make this compatible add the CANS_Framework property up at the top, CANS.RegisterMyMod function wherever the effect/quest/script starts affecting a new actor, and replace the NiOverride calls to the Belly, Breast, and Butt nodes with CANS.Belly, CANS.Breast, and CANS.Butt calls. 

 

YES!

YES!

 

For now I'll shove an NIO patch for FHU out the door, then change it to CANS when your new version comes out.

Thanks!

 

 

I'm getting  unknown type cans_framework?

 

EDIT 10/7/2015 nmv fixed it

Link to comment

These is were I'm stuck at I've been recompiling the script after every edit to unsure it works.

 

Step 2: Updating Nodes

 

Now for the fun part, presumably the actual function of your mod, changing node sizes. Like everything in CANS, it should be very simple to use.

  1. CANS.Belly(zTarget, ModName, NodeSize)
  2. CANS.Breast(zTarget, ModName, NodeSize)
  3. CANS.Butt(zTarget, ModName, NodeSize)
  4. ;zTarget and ModName are the same as before, and will remain constant throughout.
  5. ;NodeSize is the requested scale as a Float variable.

    My Code

    Function GetRandomBelly(Actor ActorRef)
    	Float Random = 0.0
    	;If NetImmerse.HasNode(ActorRef, BellyNode, False) OLD
    	If NiOverride.HasNodeTransformScale(ActorRef, False, False, BellyNode, "Randomizer")
    		Random = Utility.RandomFloat(BellyMin, BellyMax)
    		SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Belly", Random)
    	EndIf
    	if !(ActorRef.HasMagicEffect(CANSframework))
    	;the target does not have the effect.
    	if (ActorRef.HasSpell(CANSApplication))
    		;The target has the spell but not the effect, something was called incorrectly and the effect was dispelled but not the spell
    		ActorRef.RemoveSpell(CANSApplication)
    	Endif
    	;Now the target has neither the effect nor the spell
    	ActorRef.AddSpell(CANSApplication, false) ;Adds the spell, does not notify if it is added to the player
    	CANSapplication.Cast(ActorRef) ;Activates the spell and applies the framework
    	(CANS as CANS_Framework).RegisterMyMod(ActorRef, "Randomizer", "Miscellaneous")
        Endif
    EndFunction
    
Link to comment

I FIXED IT here is the code for anyone to see the difference

Function GetRandomBelly(Actor ActorRef)
	Float Random = 0.0
	    ;cans.Belly(ActorRef, "Randomizer", Random)
		

	    ;If NetImmerse.HasNode(ActorRef, BellyNode, False) OLD
	If  CANS.Belly(ActorRef, "Randomizer", Random)
	    ;NiOverride.HasNodeTransformScale(ActorRef, False, False, cans.Belly, "Randomizer")
		Random = Utility.RandomFloat(BellyMin, BellyMax)
		SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Belly", Random)
	EndIf
	if !(ActorRef.HasMagicEffect(CANSframework))
	;the target does not have the effect.
	if (ActorRef.HasSpell(CANSApplication))
		;The target has the spell but not the effect, something was called incorrectly and the effect was dispelled but not the spell
		ActorRef.RemoveSpell(CANSApplication)
	Endif
	;Now the target has neither the effect nor the spell
	ActorRef.AddSpell(CANSApplication, false) ;Adds the spell, does not notify if it is added to the player
	CANSapplication.Cast(ActorRef) ;Activates the spell and applies the framework
	(CANS as CANS_Framework).RegisterMyMod(ActorRef, "Randomizer", "Miscellaneous")
    Endif
EndFunction
Link to comment

Just a heads up, there's a good chance this won't work in game with v 0.15.  But in like two or three days (at the latest, unless this weekend is worse on my time than I expect it to be) v 0.18 will be completely built and all things CANS will be functioning.

Link to comment

 

 

I'm thinking that what I'll do is take the highest value plus 1/x * the next highest and then 1/x^2 * the third and 1/x^3 * the fourth and so on to create a descending additive type thing. x would be configurable in the mcm with a default value of 2 or 3 (a value of 1 would disable this). This way instead of 4 mods requesting a scale of 3 and returning breasts at a scale of 12 (roughly the size of the Hindenburg) it would return something in the neighborhood of 5-7 (depending on the default value and how bad my mental math was just now).

 

This is similar to something I played around with. Only suggestion I have is to also include something that accumulates anything that scales a node down in a separate value and then gets combined somehow with the accumulated value of everything scaling the node up. I just subtracted the value that decreased the scale from the value that increased it. For example, if the scale increase ended up being 1.5 and the scale decrease 0.8, the final value used would be 1.5 - (1 - 0.8) = 1.3. This made it so that an increase could easily swamp a decrease but not as easily as it would have been had all of them had been combined and the decrease was say the 3rd or 4th highest value.

 

 

Thanks for the advice, I'd kind of forgotten that I'd have to account for decreases in this mode. 

 

On a related note, values of 1.0. Currently they're just completely ignored by the calculation, do you think they should be included in modes other than the additive? The weighted average mode (That I don't think anyone uses) specifically.

 

 

I think the thing to consider would be how would a graph of the final scale value look as an individual value approached, reached 1.0, and continued past it. In the case of the weighted average, if the 1.0 value were ignored, you would see an immediate jump (up or down depending on the other values) at 1, and then it would go back to about where it was when it was on the other side of 1.

 

Link to comment

Just a heads up, there's a good chance this won't work in game with v 0.15.  But in like two or three days (at the latest, unless this weekend is worse on my time than I expect it to be) v 0.18 will be completely built and all things CANS will be functioning.

 

So, your saying the whole process will be different?

Link to comment

 

Just a heads up, there's a good chance this won't work in game with v 0.15.  But in like two or three days (at the latest, unless this weekend is worse on my time than I expect it to be) v 0.18 will be completely built and all things CANS will be functioning.

 

So, your saying the whole process will be different?

 

No, not at all. Updates shall remain completely backwards compatible. There's just a few steps you can skip and a few things I need to change to give more info.

Link to comment

...It's weird to see code that I've worked on (BSR) now being forked when I didn't have the time to do so. Not complaining, though, especially as it's been forked from the original version. With NiO now having the extra modes to it, I don't personally see a need to change what I'm doing on my end.

 

Carry on.

Link to comment

...It's weird to see code that I've worked on (BSR) now being forked when I didn't have the time to do so. Not complaining, though, especially as it's been forked from the original version. With NiO now having the extra modes to it, I don't personally see a need to change what I'm doing on my end.

 

Carry on.

 

Actual i'm in thr right direction now

i can't get the boobs to resize...

Link to comment
  • 2 weeks later...
  • 4 months later...

Yeah, been a few months. I'd like to know, too. Especially now that I'm taking a programming class (the code above almost makes sense to me, now! lol), and since I definitely want to be able to integrate both cum-inflation and pregnancy mods (I know there already is something kinda like this, but I haven't searched in a bit and can't remember why I didn't think it was a good enough solution).

Plus this is just as much a universal modding God-send like SKSE, Racemenu, SkyUI, XMPSE, SexLab (and it's components), and the HDT system, among some others. We NEED this implemented.

Is there any way a beginner programmer could help out in some way? Maybe hack away at the more tedious elements of code? If so, I'd definitely like to help. Probably also help my grades in the programming class. Haha!

Link to comment

Yeah, been a few months. I'd like to know, too. Especially now that I'm taking a programming class (the code above almost makes sense to me, now! lol), and since I definitely want to be able to integrate both cum-inflation and pregnancy mods (I know there already is something kinda like this, but I haven't searched in a bit and can't remember why I didn't think it was a good enough solution).

Plus this is just as much a universal modding God-send like SKSE, Racemenu, SkyUI, XMPSE, SexLab (and it's components), and the HDT system, among some others. We NEED this implemented.

Is there any way a beginner programmer could help out in some way? Maybe hack away at the more tedious elements of code? If so, I'd definitely like to help. Probably also help my grades in the programming class. Haha!

 

The fact that anyone is even still on this thread fascinates me. If you give me until tomorrow evening (~20 hours my time zone, sorry) I can get the version lost in the rollback (I think, I lost my local repository along with my last computer) and reupload it along with the new documentation (god I hope I saved that somewhere). After that you should be able to take a crack at it on your own, but I'm willing to offer some guidance if you need it.

Link to comment

 

Yeah, been a few months. I'd like to know, too. Especially now that I'm taking a programming class (the code above almost makes sense to me, now! lol), and since I definitely want to be able to integrate both cum-inflation and pregnancy mods (I know there already is something kinda like this, but I haven't searched in a bit and can't remember why I didn't think it was a good enough solution).

Plus this is just as much a universal modding God-send like SKSE, Racemenu, SkyUI, XMPSE, SexLab (and it's components), and the HDT system, among some others. We NEED this implemented.

Is there any way a beginner programmer could help out in some way? Maybe hack away at the more tedious elements of code? If so, I'd definitely like to help. Probably also help my grades in the programming class. Haha!

 

The fact that anyone is even still on this thread fascinates me. If you give me until tomorrow evening (~20 hours my time zone, sorry) I can get the version lost in the rollback (I think, I lost my local repository along with my last computer) and reupload it along with the new documentation (god I hope I saved that somewhere). After that you should be able to take a crack at it on your own, but I'm willing to offer some guidance if you need it.

 

 

The fact that people haven't stayed on this thread shocks me!

But, yeah! I mean, I'm not sure what all I can do at this point, but having the source code couldn't hurt, and I'm more than sure I can round up some people more experienced than me to really get this going. I just hope this can get momentum going once again.

If you don't want to reupload it here, then I can PM you my email. Otherwise, I look forward to it!

And I more than understand about loosing project data (or projects entirely) due to upgrading to new hardware or having harddrive failure, so no worries.

Link to comment

I think for the most part the scripts survived the transition. There are a few things I need to fix/rebuild in the Creation Kit but I should have it back up and running at 1.0 soon.

 

Edit: And rewrite the documentation post I made since it's no longer available.

Link to comment
  • 4 months later...

I was thinking of taking over this mod since there's not much progress... or at least building a new framework inspired by the old one. Has anyone managed to get the source code?

 

I'm envisioning something fairly simple that combines weightings using the disjunctive addition operation. That will allow it to handle any number of mods, and will generally behave in exactly the way you would expect (the total weighting will always be at least a big as the biggest individual weighting, low weightings can't drag down high ones, two 50% weightings combine to make 75%, etc).

 

Probably try to avoid an ESP for simplicity, ideally it will be just one or two scripts, a JSON to configure it, and use PapyrusUtil to handle storage.

 

Any thoughts, opinions?

Link to comment

I was thinking of taking over this mod since there's not much progress... or at least building a new framework inspired by the old one. Has anyone managed to get the source code?

 

I'm envisioning something fairly simple that combines weightings using the disjunctive addition operation. That will allow it to handle any number of mods, and will generally behave in exactly the way you would expect (the total weighting will always be at least a big as the biggest individual weighting, low weightings can't drag down high ones, two 50% weightings combine to make 75%, etc).

 

Probably try to avoid an ESP for simplicity, ideally it will be just one or two scripts, a JSON to configure it, and use PapyrusUtil to handle storage.

 

Any thoughts, opinions?

You know what you describe pretty much exists already, you may want to take a look at my SexLab Inflation Framework

 

It adds an esp though, to manage all actors, that are inflated by my framework.

 

If there is a feature missing, you want to see implemented or you want to contribute, feel free to tell me about it via pm.

Link to comment

I was thinking of taking over this mod since there's not much progress... or at least building a new framework inspired by the old one. Has anyone managed to get the source code?

 

I'm envisioning something fairly simple that combines weightings using the disjunctive addition operation. That will allow it to handle any number of mods, and will generally behave in exactly the way you would expect (the total weighting will always be at least a big as the biggest individual weighting, low weightings can't drag down high ones, two 50% weightings combine to make 75%, etc).

 

Probably try to avoid an ESP for simplicity, ideally it will be just one or two scripts, a JSON to configure it, and use PapyrusUtil to handle storage.

 

Any thoughts, opinions?

 

Ouch, has it really been that long that people want to take over this thing and would rather ask everyone but the author directly? Dang.

Thoughts and opinions since you asked: You really should have downloaded it and looked through the mod because all of the source files are included (and fairly well documented if I do say so myself)

 

Bonus: there should be one final update to re-release the updated scripts (version lost in the first site rollback and original files lost in an external hard drive failure) and remove any existing bugs left over. The only reason it hasn't been done yet is because A) I've been working on more interesting projects than the fifth rebuild of the CANS framework and B)There has been literally no interest until now and C) I've just had surgery done on my eyeballs and may technically still not be allowed to use a computer.

 

 

You know what you describe pretty much exists already, you may want to take a look at my SexLab Inflation Framework

 

It adds an esp though, to manage all actors, that are inflated by my framework.

 

If there is a feature missing, you want to see implemented or you want to contribute, feel free to tell me about it via pm.

 

 

You may also notice it pretty much exists here, in this exact thread as well.

Link to comment

Ouch, has it really been that long that people want to take over this thing and would rather ask everyone but the author directly? Dang.

Thoughts and opinions since you asked: You really should have downloaded it and looked through the mod because all of the source files are included (and fairly well documented if I do say so myself)

 

Bonus: there should be one final update to re-release the updated scripts (version lost in the first site rollback and original files lost in an external hard drive failure) and remove any existing bugs left over. The only reason it hasn't been done yet is because A) I've been working on more interesting projects than the fifth rebuild of the CANS framework and B)There has been literally no interest until now and C) I've just had surgery done on my eyeballs and may technically still not be allowed to use a computer.

 

You know what you describe pretty much exists already, you may want to take a look at my SexLab Inflation Framework

 

It adds an esp though, to manage all actors, that are inflated by my framework.

 

If there is a feature missing, you want to see implemented or you want to contribute, feel free to tell me about it via pm.

 

You may also notice it pretty much exists here, in this exact thread as well.

As I said, it seemed abandoned. But if it's not, then awesome! What mods are there patches for? Does the built-in support in BeeingFemale and MilkMod still work?

 

I would check these things myself but I'm still at work...

 

Anyway, maybe I could contribute by helping to make patches for any mods that still need them.

Link to comment

 

As I said, it seemed abandoned. But if it's not, then awesome! What mods are there patches for? Does the built-in support in BeeingFemale and MilkMod still work?

 

I would check these things myself but I'm still at work...

 

Anyway, maybe I could contribute by helping to make patches for any mods that still need them.

 

 

Milk Mod disabled the support (but did not remove it last I saw, just commented it out) when the CANS version it was built for was riddled with bugs and lost in a rollback, presumably once the new version hits the shelves it will be re-enabled unless it was removed entirely.

 

Provided BeeingFemale hasn't altered it it should work just fine, the latest version is completely backwards compatible with any patches made previously.

 

Those are the only two with native support, the patches I had written have been lost (along with the original source code for the latest release, which is why this is taking so long, I had to write it from scratch for the fifth time) in an external hard drive failure so I have none, if you want to write some shoot me a PM and I can send you a rough draft of the new and improved API while I write the blog post with detailed instructions.

 

Edit for format

Link to comment

 

You may also notice it pretty much exists here, in this exact thread as well.

Sorry Feliks, did not mean to offend you, just wanted to point out the option, instead of him starting a complete new one :)

 

 

No worries mate

Link to comment

HAHAHA Jokes on all of you when I said in the next two weeks I meant today!

 

1.0 IS FREAKING OUT

 

Current issues:

MCM doesnt like to show up immediately, in every test so far saving and reloading got it to show right up.

MCM logs three errors in the papyrus log, these errors dont affect function, and seem t have something to do with retrieving data from NiOverride. No Idea why this is happening.

 

 

Up Next: Polish two other projects/Test this with other mods to see if the old problems have all been sorted out (But I am 98% certain they have)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use