• it’s been 2 and a half years. i should redo it in c

    9
  • Update to the Nodes2Python module is coming out in a minute. There\’s just this one bug that defies all logic

    3
  • i might roll out some updates for this program soon, since im learning how shitty of a programmer i am

    3
  • This is the Most Embarrassing English Mistake of All Time
    image

    13
  • Github repository is up!
    Link: https://github.com/Vuice3/Nodes2Python

    You can freely distribute the program if you wish, just keep the unmodified CREDITS.txt in there.

    Entire documentation and tutorial is in the README.txt , and comments on how the program converts .nodes to .py are in the program itself. Enjoy.

    6
    • also if you find bugs or errors, let me know right away

      2022-11-08 04:42:15 UTC 0
    • Page not found

      2022-11-08 04:45:18 UTC 2
      • Replying to: MannyAnimsPage not found

        Shit, is it because the repository is privated? Ima have to find a way around that

        2022-11-08 04:46:16 UTC 1
        • Replying to: vuiceShit, is it because the repository is privated? Ima have to

          Cool. I thought it might have because I didn’t have an account, but than I realized that’s not it

          2022-11-08 04:46:41 UTC 1
          • Replying to: MannyAnimsCool. I thought it might have because I didn’t have an accou

            Done, should be public now

            2022-11-08 04:48:13 UTC 0
            • Replying to: vuiceDone, should be public now

              Cool. I’ll check!

              2022-11-08 04:49:04 UTC 1
            • Replying to: vuiceDone, should be public now

              It works 👍

              2022-11-08 04:49:15 UTC 1
            • Replying to: vuiceDone, should be public now

              Pardon my ignorance, and I know I asked this before, but now that’s it’s finished and more is probably set in stone on ideas,

              What are some of the possibilities that this can offer? I know vaguely about kitra

              2022-11-08 04:50:49 UTC 1
              • Replying to: MannyAnimsPardon my ignorance, and I know I asked this before, but now

                Krita is a more advanced application than Sticknodes, in a way that more skilled animators can have access to higher-level tools in features.

                But unfortunately, Krita doesn’t have anything simmilar to stickfigures in it, that’s why I’m implementing it myself as nobody appears to have made something like this before. You’ll Soon™ be able to combine the power of Sticknodes’ stickfigures and Krita’s more advanced interface to create even better animations.

                2022-11-08 04:53:58 UTC 1
                • Replying to: vuiceKrita is a more advanced application than Sticknodes, in a w

                  Interesting. And with open nodes, that would mean better Stickfigure creation AND animation with Nodes2Python

                  Nice

                  2022-11-08 05:00:45 UTC 1
                  • Replying to: MannyAnimsInteresting. And with open nodes, that would mean better Sti

                    I’m probably not gonna name the krita part of this nodes2python, that’s just the name of the conversion process which I’m gonna be building into the krita plugin. Though nodes2python is also available as it’s own program

                    2022-11-08 05:07:14 UTC 1
                    • Replying to: vuiceI’m probably not gonna name the krita part of this nodes2pyt

                      Oh, ok. I understand now

                      2022-11-08 05:19:32 UTC 1
                • Replying to: vuiceKrita is a more advanced application than Sticknodes, in a w

                  Soon™

                  stop stealing ALL of my shit, including my stickfigures and trademarked lingo

                  2022-11-08 12:07:58 UTC 1
    • Ah yes, now to poke around the repo and silently judge your code >:)

      2022-11-09 13:24:53 UTC 1
      • Replying to: Vince the AnimatorAh yes, now to poke around the repo and silently judge your

        disclaimer: its not good nor optimized

        with high-node count stickfigures, it takes a pretty damn long time to finish the deed

        2022-11-09 16:08:00 UTC 0
  • oh god nodes2python isnt finished after all, just realized that I need to create a way to deter between parent, child, and sister nodes

    more pain time

    2
  • I’m pleased to announce that nodes2python is finished! You’ll be able to download & use the program for whatever you want soon. After 2 weeks of working on this, with over 600 lines of code written, I can say that this was certainly worth the mental breakdowns.

    That said, here’s a peek into the first stickfigure converted to a python dictionary. It’s a random figure I grabbed from the website called Dust 01:

    13
    • Also, the reason I don’t want to release this right away is because this is practically it’s own file type now, I have to create a README that documents how to use the program and how to read the contents of outputted files.

      2022-11-07 19:01:59 UTC 7
    • Yooooo, congrats comrade 👏

      2022-11-08 03:19:29 UTC 2
  • Unemployed fish at 11:00 AM on a Monday:

    8
  • i think the issue isnt with the conversion itself, its running perfectly fine

    it must be the bytes im choosing to translate, somehow

    image

    9
    • Bro, btw, if you’re pushing off learning how to use the debugger like I was, I recommend taking a little time to learn it. It’s really not as complicated as you might think, and it’s sooooo helpful.

      Basically, it lets you step through your code line by line and read what any value is at any point in your program.

      2022-11-06 01:42:57 UTC 2
  • this is definitely me when attempting to stickfigure

    like why the actual fuck is the nodeCount edging the damn signed 32 bit integer limit, its literally a one-node stickfigure it should be 1 what is going on

    all of the booleans are true on node_0 when they are supposed to be false

    and whats with this e-notation bullshit, all the floating points are messed up except for node_0_Angle

    why is my life coming to this jHIjasjoi;dJAojidpoasogpoasdjoijad

    7
    • dude even the screenshots are betraying me thats so low-res

      2022-11-05 21:11:28 UTC 3
      • Replying to: vuicedude even the screenshots are betraying me thats so low-res

        my attempt at a higher res screenshot, probably wont work
        image

        2022-11-05 21:16:24 UTC 2
    • Alright, weather update, the booleans are now not fucked up

      but everything else still bad and im trying to print as much shit into the console as I can about this

      2022-11-05 22:42:52 UTC 0
      • Replying to: vuiceAlright, weather update, the booleans are now not fucked up

        also does anyone know if the integer “2130706432” has any relation to anything, i tried looking it up and i got “invalid object” but i have zero clue what that means

        2022-11-05 22:50:28 UTC 0
    • haha its funny when it happens to someone else

      2022-11-05 22:44:39 UTC 1
      • Replying to: Ralph (Developer)haha its funny when it happens to someone else

        please tell me that its supposed to be e-notation i want to be done soon

        2022-11-05 22:46:45 UTC 2
        • Replying to: vuiceplease tell me that its supposed to be e-notation i want to

          idk really, depends how you’re reading the data (or writing it wrong maybe)

          all the other ints there are displayed properly (ver: 334 for example)
          this is no different

          2022-11-05 22:50:49 UTC 2
          • Replying to: Ralph (Developer)idk really, depends how you're reading the data (or writing

            Yeah, what’s bugging me is that the nodeCount is just a cumulation of all the “Number of child nodes” in the file that i decided to add to the dictionary for better accessibility, but in this case it was set to 2130706432 for virtually no reason
            the figure in question is comprised of just the main node and the rounded segment

            and the scale of the figure is 1.0, not 1.5 so i must have done something wrong there

            as far as i know though, the 32-bit int translations arent buggy

            2022-11-05 22:57:37 UTC 0
    • If you’re trying to get a total node count from the file, there isn’t a total node count anywhere in the file.

      The only node counts in the file are the numberOfChildNodes count as the last 4 bytes of every node to know whether it should iterate child nodes or move onto the next sister node.

      2022-11-05 23:51:29 UTC 1
      • Replying to: Vince the AnimatorIf you're trying to get a total node count from the file, t

        The nodeCount is just the cumulation of every numberOfChildNodes,
        it was used for a “while loop” , to loop a piece of code until the amount of times the loop occurs = nodeCount

        but nodeCount is kind of wack right now for some reason and im trying to figure out why

        2022-11-06 00:14:22 UTC 1
    • The e notion for the floats are due to the odd nature of floating points.

      Floating points basically use the binary equivalent of scientific notation, so it’s easy for floating points to represent a really really small number instead of 0.

      For example, in your case representing something like 0.00000000 … 000000069 instead of 0.

      2022-11-05 23:56:00 UTC 1
    • Also, what are the allNodeIDs and node_x_Layer properties?

      2022-11-05 23:57:39 UTC 1
      • Replying to: Vince the AnimatorAlso, what are the allNodeIDs and node_x_Layer properties?

        allNodeIDs is something I added to the dictionary to just add every node ID into a list

        node_x_layer is just the draw order number (and ID), it was simpler to call it “layer” instead

        2022-11-06 00:06:04 UTC 1
        • Replying to: vuiceallNodeIDs is something I added to the dictionary to just ad

          I dont even remember why I added allNodeIDs, its probably time to remove it

          2022-11-06 00:26:02 UTC 1
    • One last thing. I think I messed up the documentation a little with colors. Each byte of the color (A,B,G, and R) may need to be unsigned so they range from 0 to 255 instead of -128 to 127

      2022-11-06 00:03:07 UTC 1
      • Replying to: Vince the AnimatorOne last thing. I think I messed up the documentation a litt

        Ah, I already speculated that on my own, except for the alpha

        2022-11-06 00:16:51 UTC 1
    • Who is the warm toilet seat who programmed this ? 💢💢💢💢👿👿👿👿

      2022-11-06 02:27:28 UTC 0
      • Replying to: supermintWho is the warm toilet seat who programmed this ? 💢&

        me

        2022-11-06 03:13:33 UTC 0
  • alright time to ping @vincetheanimator for the millionth time for help

    In your documentation, with any \”32 bit float big endian\” group of bytes, is it the same as \’Single Precision\’ in the IEEE 754 standard? Or is it some other way of representing a float in binary that I am unaware of?

    Additional question — Does the way sticknodes reads a \”32 bit float big endian\” sequence of bytes include a sign bit at the beginning of the sequence?

    3
    • Oh, one more question actually that I forgot —
      When “Big Endian” is not specified, does that mean the endianness does not matter?

      2022-11-02 22:16:47 UTC 2
      • Replying to: vuiceOh, one more question actually that I forgot -- When "Big E

        I assume you’re referring to this?:

        Nah, endianness still matters there. I just forgot to put the endianness for that one lol

        Should be big endian also

        2022-11-03 00:02:36 UTC 1
    • Based on the decompiled code, it seems like floats in SN are read with the java.io.DataInputStream.readFloat() method:

      Tbh, I don’t the specifics of how the method works, but here’s some pictures of its code:

      2022-11-02 23:59:25 UTC 1
      • Replying to: Vince the AnimatorBased on the decompiled code, it seems like floats in SN are

        “Single format” is probably another way of saying “Single precision” , so I think I have the correct formula and im just bad at coding and math. Thanks

        2022-11-03 00:20:25 UTC 1
  • Ok so I just got Python to print data on a stickfigure file.. kinda.

    I mostly used the right converters for the right things, but there was a few problems with the floats, because I\’m not entirely sure I understand the IEEE 754 standard for storing floats in computer data. I looked it up a bit and tried to wrap my head around the formula and it sort of worked out but there was bugs that I only had a crappy bandage solution to

    image

    9
    • One thing I regret about the way I’m having python insert all this data is how I’m putting it into a list instead of a dict. I somehow forgot dicts are a mutable data type, and also forgot that they are downright easier to call elements from if you set it up properly.

      2022-11-02 18:05:03 UTC 5
      • Replying to: vuiceOne thing I regret about the way I'm having python insert a

        This makes me feel like rewriting the whole stickfigure reader lmao oh my god help me

        2022-11-02 18:09:21 UTC 4
    • Kinda curious, but what exactly do you want to do with Nodes being written to .py? Like what’s your next step.

      2022-11-02 21:20:01 UTC 2
      • Replying to: arcionekKinda curious, but what exactly do you want to do with Nodes

        Krita is a painting and animation program (similar to Adobe Photoshop), and it allows you to create plugins for the program in the Python language. So basically, this is step 1, which is actually getting a stickfigure file as a python data type. Step 2 would be having a krita plugin read that python data and, well, render it on the canvas.

        TL;DR – sticknodes pc

        2022-11-02 21:28:14 UTC 4
        • Replying to: vuiceKrita is a painting and animation program (similar to Adobe

          You and @vincetheanimator really gotta collab.

          You’re both trying to do the same project so lmfao

          2022-11-03 02:56:00 UTC 3
          • Replying to: arcionek... You and @vincetheanimator really gotta collab. You're

            Also @ralph I didnt expect this to turn into a sn pc development race. Who are you betting on?

            2022-11-03 02:58:03 UTC 2
          • Replying to: arcionek... You and @vincetheanimator really gotta collab. You're

            not really the same exact thing, hes doing the stickfigure creator and im doing the actual animation part

            so in a way we are collabing to be able to use Better Sticknodes™ without needing to even open sticknodes

            2022-11-03 03:06:12 UTC 2
            • Replying to: vuicenot really the same exact thing, hes doing the stickfigure c

              i think something im worried about is ralph’s bank acc

              because this wont require even downloading sticknodes, ralph literally earns $0 if someone grabs stickfigures from the site/makes them in open nodes, then puts the file into KritaNodes or w/e im gonna call it

              2022-11-03 03:11:32 UTC 1
              • Replying to: vuicei think something im worried about is ralph's bank acc bec

                Oh I’m just gonna shoot this off right off the bat, don’t try to make a place for people to submit sticks.

                It’s a pain to manage.

                That and also people will try to steal sticks from here, publish as their own etc. We have that issue occuring almost weekly with pivot sticks and private YouTube packs.

                2022-11-03 03:28:03 UTC 3
                • Replying to: arcionekOh I'm just gonna shoot this off right off the bat, don't

                  As for revenue, he will get to working on sn pc likely in 2023-2024. Plus site revenue. Plus sprite update price increase etc.

                  2022-11-03 03:29:29 UTC 3
                • Replying to: arcionekOh I'm just gonna shoot this off right off the bat, don't

                  Yeah I was thinking about a stickfigure repository but I decided against it for that very reason.

                  also i dont even know if i will be done with kritanodes or whatever by 2023 im doomed

                  2022-11-03 03:35:08 UTC 2
    • haha this is so cool!

      2022-11-03 10:29:51 UTC 3
  • @vincetheanimator

    About the polyfill header and body in your documentation:
    Does Sticknodes require the polyfill information from the stickfigure file even if the current node\’s type is not a polyfill?

    2
    • Polyfill information is given after all node information, so not in between node data.

      I like to think of the .nodes file structure as:

      – Header
      – Nodes
      – Polyfills

      2022-11-01 21:16:20 UTC 2
      • Replying to: Vince the AnimatorPolyfill information is given after all node information, so

        It’s useful to note that, while SN counts polyfill as nodes, they’re really just lists of node IDs (draw order indexes)

        2022-11-01 21:18:52 UTC 2
        • Replying to: Vince the AnimatorIt's useful to note that, while SN counts polyfill as nodes

          So polyfill data is not required for the node if that node’s type is not a polyfill, correct?

          2022-11-01 21:35:46 UTC 1
          • Replying to: vuiceSo polyfill data is not required for the node if that node'

            It’s not required for any node, and there is no polyfill node type

            2022-11-01 21:40:01 UTC 2
            • Replying to: Vince the AnimatorIt's not required for any node, and there is no polyfill no

              Ah — I get what you’re saying now:

              All polyfills are defined in the polyfill section. I have no idea how I didn’t realize that, but it makes sense to me now.
              Thanks

              2022-11-01 21:50:10 UTC 2
              • Replying to: vuiceAh -- I get what you're saying now: All polyfills are defi

                Yeah, np comrade

                2022-11-01 21:56:22 UTC 2
                • Replying to: Vince the AnimatorYeah, np comrade

                  No! You are both working Sticknodes projects! You are supposed to want each other to fail!

                  (I know you are bith working on different things, it’s a joke)

                  2022-11-01 21:58:33 UTC 3
                  • Replying to: MannyAnimsNo! You are both working Sticknodes projects! You are suppos

                    its actually a good thing that we’re both doing sticknodes projects, his open nodes thing will just remove the need to use the sticknodes fig editor, and my thing will remove the need to use the actual animation part

                    so its just sticknodes pc at that point if you put 2 and 2 together

                    2022-11-01 22:03:03 UTC 3
                    • Replying to: vuiceits actually a good thing that we're both doing sticknodes

                      Honestly for both of these to be happening at the same time it’s like stars aligned

                      2022-11-01 22:06:14 UTC 3
  • The signed 8-bit int, signed 16-bit int, signed 32-bit int, and 32-bit float converters have been finished.

    A.K.A:

    node2python is finally almost finished. I just have to create a system to correctly analyze all the imported data and convert them correctly.

    1
  • im going insane

    i got the signed32BitIntBigEndian function almost working
    but for some reason the second byte is deciding to not show up when i flatten the lists of base2 represented bytes together
    it works with all other bytes but this specific fucking byte decides it does not want to be put into a flattened list today

    it isnt the value of the byte thats bad or anything, i double checked right before i attempted flattening it into the list and its completely fine
    out of my desparation i changed the name of it to \”byte1workpls\” but it did not want to listen
    i even tried taking the byte out to mcdonalds to calm it down but still it didnt listen

    then i realized i forgot to capitalize a letter in one of the variable\’s names and it fucking worked finally holy shit im so stupid i went through all of that how did i not realize

    11
    • forgot to capitalize a letter in one of the variable’s names

      wow python sounds like php

      that is to say it sounds like hell

      2022-10-31 20:57:03 UTC 7
      • Replying to: Ralph (Developer)> forgot to capitalize a letter in one of the variable’s

        for some reason visual studio doesnt put red lines on some errors so you cant tell what the fuck is wrong with your code
        worse, it didnt even highlight the error after the code was executed so i took an extremely long time just to narrow down the error to a single point

        2022-10-31 21:02:59 UTC 8
        • Replying to: vuicefor some reason visual studio doesnt put red lines on some e

          that’s gotta be a setting

          it shouldn’t compile and run without yelling at you, unless it just ends up deploying an old build because the new one has syntax errors

          2022-10-31 21:49:42 UTC 2
          • Replying to: Ralph (Developer)that's gotta be a setting it shouldn't compile and run wi

            It compiles and yells at me sometimes depending on what kinda error it is

            The reason it wasnt yelling at me must be because visual studio’s syntax error detection isnt case sensitive

            and its not an old build either because i got errors that were occurring *because* byte1 didnt want to appear in the flattened list

            2022-10-31 22:13:45 UTC 1
    • Ok the 32 bit signed int big endian converter is finally finished holy fuck that took days

      but now that i know how it works, it wont be hard to implement the others

      unless its a floating point

      2022-10-31 21:51:53 UTC 1
  • Load More