Verteiron / SkyBox

Skyrim mod that allows items to be shared between different playthroughs.
5 stars 3 forks source link

Just a note #7

Open SilverIce opened 8 years ago

SilverIce commented 8 years ago

Hello! Will leave a note here, not sure how big your nexus mail box is.

JC native function signature may change. I'm not sure if your plugin is still using them or not. That's because of domains feature (and potential extra argument)

Verteiron commented 8 years ago

Will JC still be able to parse the old ones for compatibility? On Apr 3, 2016 9:29 AM, "SilverIce" notifications@github.com wrote:

Hello! Will leave a note here, not sure how big your nexus mail box is.

JC native function signature may change. I'm not sure if your plugin is still using them or not. That's because of domains feature (and potential extra argument)

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/Verteiron/SkyBox/issues/7

SilverIce commented 8 years ago

To be clear: I'm referring to the function pointers you obtained from reflection interface, but it seems you don't use them. We are talking about level close to assembly and function pointers, there is no anything close to dynamism, parsing.

Verteiron commented 8 years ago

Oh, yes, i tried using the published interfaces but frankly I know so little about what I'm doing in c++ that I kept causing crashes :/ so I just stuck to what I knew. Thanks for the heads up though! On Apr 3, 2016 11:07 AM, "SilverIce" notifications@github.com wrote:

To be clear: I'm referring to the function pointers you obtained from reflection interface, but it seems you don't use them. We are talking about level close to assembly and function pointers, there is no anything close to dynamism, parsing.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/Verteiron/SkyBox/issues/7#issuecomment-205003863

SilverIce commented 8 years ago

It shouldn't cause crash.. pity if it does. Thanks for the info

Verteiron commented 8 years ago

I am pretty certain it was just me, not knowing what I'm doing. Seriously, I basically learned just enough about c++ to implement SKSE plugins without crashing Skyrim. I don't even know how to do baseline things like extend other DLLs.

As far as I can remember, I was getting the interfaces from JContainers, but when I made a few hundred calls in a row to $(whatever function retrieves Forms from the serialized text) I was getting crashes. Now, it's possible those were coming from something else in my code, as the first thing I did was ditch the stuff I wasn't sure of (i.e. the JContainers interface) and instead just reimplemented it myself using code I already understood.

My implementation of the reflection interface is still in my code as a comment block, if you want to look and confirm I screwed up: https://github.com/Verteiron/SkyBox/blob/master/dist/dep/SuperStash/SuperStash/jcutils.cpp#L76

On Mon, Apr 4, 2016 at 11:56 AM, SilverIce notifications@github.com wrote:

It shouldn't cause crash.. pity if it does. Thanks for the info

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/Verteiron/SkyBox/issues/7#issuecomment-205391228

SilverIce commented 8 years ago

Actually your code should perform much faster, unlike commented one (looks ok) which executes tons of code (parse json, create object and etc). JString will contain plenty of form-string <-> form-id conversion functions, but there really is not much point to start use JC's native functions, especially when they may change