Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    Wishlist

    Comments & Feedback
    63
    245
    50144
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Eearslya
      Eearslya Donator last edited by

      The ability to make our own variable-argumented functions, similar to how print and printAt can take any number of arguments.

      ITzTravelInTime 1 Reply Last reply Reply Quote 1
      • Kat
        Kat Fuze Team last edited by

        @Tratax you're in luck! I don't know very much about it myself but we do have a CRT shader :) check these help pages for the info

        https://fuzearena.com/help/view/renderEffect
        https://fuzearena.com/help/view/setDrawTarget

        Tratax 1 Reply Last reply Reply Quote 2
        • ITzTravelInTime
          ITzTravelInTime F @Eearslya last edited by

          @Eearslya This will very helpfoul, but sometimes some flexibility in types for function arguments helps to not have to implement overloads which are essentially the same code just with the types changed

          Eearslya 1 Reply Last reply Reply Quote 1
          • Eearslya
            Eearslya Donator @ITzTravelInTime last edited by

            @ITzTravelInTime I think you misunderstand, I wasn't asking for functions that can only take specific variable TYPES, but for functions that can take a variable NUMBER of arguments.
            e.g. printAt(0, 0, var1, var2, var3, ...)

            M Discostew ITzTravelInTime 3 Replies Last reply Reply Quote 3
            • M
              MikeDX @Eearslya last edited by

              @Eearslya we do need that for sure!

              1 Reply Last reply Reply Quote 0
              • Discostew
                Discostew F @Eearslya last edited by Discostew

                @Eearslya Well, you can kinda do it right now using an array.

                count = myargs( 0, 0, [ 1, 2, 3, 4, 5, 6 ] )
                
                function myargs( item1, item2, itemarr )
                return len(itemarr)
                
                1 Reply Last reply Reply Quote 1
                • ITzTravelInTime
                  ITzTravelInTime F @Eearslya last edited by

                  @Eearslya I see thank you for the clarification

                  1 Reply Last reply Reply Quote 0
                  • Tratax
                    Tratax F @Kat last edited by

                    @Kat That, is amazing - I'm heading home on the train and cant wait to get on the switch and try this out! Sorry, I should have searched before assuming it wasn't built in haha

                    1 Reply Last reply Reply Quote 0
                    • Kat
                      Kat Fuze Team last edited by

                      @Tratax No worries!

                      1 Reply Last reply Reply Quote 0
                      • Dave
                        Dave Fuze Team last edited by

                        @Tratax whilst you can't discern much form the very short clip size limit on the Switch's upload feature, I did a little video using a CRT shader on some maths patterns, you might get an idea for parameter values from it - you can make some truly bizarre effects with it!

                        https://fuzearena.com/forum/topic/10/playing-with-crt-shader/2

                        1 Reply Last reply Reply Quote 2
                        • _
                          _JKDOS F last edited by

                          I'll give this a try.

                          We need an elseif or elif

                          if (a) then
                              // do a
                          elseif (b) then
                              // do b
                          else
                              // do else
                          endif 
                          

                          I'd also like to see a switch case someday. Might look like this.

                          switch (expression)
                              case value-1
                                  // do this
                                  break
                              case value-2
                                  // do this
                                  break
                              default
                                  // do this
                          endswitch
                          1 Reply Last reply Reply Quote 4
                          • Martin
                            Martin Fuze Team last edited by

                            @_JKDOS As you already know, the latter of those two is on the list of things to come. The first is unlikely. But, request noted.

                            _ mixaal 2 Replies Last reply Reply Quote 1
                            • _
                              _JKDOS F @Martin last edited by

                              @Martin Thats awesome. I would think getting the switch condition would be more unlikely, so I count myself lucky

                              1 Reply Last reply Reply Quote 0
                              • Discostew
                                Discostew F last edited by

                                Functions to help us determine what type a variable is, like isInt, isFloat, isString, isVector, and isArray. Dunno if isStruct would be workable.

                                Eearslya 1 Reply Last reply Reply Quote 4
                                • Eearslya
                                  Eearslya Donator @Discostew last edited by

                                  @Discostew For structs, maybe even a generic isA that we can pass a struct type to.

                                  1 Reply Last reply Reply Quote 2
                                  • Aceba1
                                    Aceba1 last edited by

                                    Intellisense?
                                    Parameter context / reference for commands?
                                    Summary-comments that appear when a type or method associated with it is selected or hovered over?

                                    1 Reply Last reply Reply Quote 1
                                    • Eearslya
                                      Eearslya Donator last edited by

                                      getDrawTarget(). Useful for functions that draw to images. It would allow them to save a reference to the current draw target and restore it before they return, so the rest of the program doesn't end up confused.

                                      1 Reply Last reply Reply Quote 1
                                      • pico8-jihem
                                        pico8-jihem F last edited by pico8-jihem

                                        Can you add a strSplit(<string>,<string separator>) function that returns an array of strings ?
                                        result=strSplit("this+is+my+text","+")

                                        after execution, result = ["this","is","my","text"]

                                        Discostew 1 Reply Last reply Reply Quote 2
                                        • pico8-jihem
                                          pico8-jihem F last edited by Martin

                                          Can you add function indirect call ?

                                          // classic function
                                          function draw()
                                          return void
                                          
                                          // put the address of the classic fonction draw in the field indirectdraw of the structure 
                                          myForm=[ .prop1=0, .prop2=1, .indirectdraw=@draw ]
                                          
                                          // call the draw function using the tructure field
                                          myForm.indirectdraw() ==> call function draw
                                          

                                          An even better use could be to pass as the first argument of the called method the structure itself:

                                          // classic function
                                          function draw(self)
                                          // access the field of the structure self using self.field
                                          return void
                                          
                                          // put the address of the classic fonction draw in the field indirectdraw of the structure 
                                          myForm=[ .prop1=0, .prop2=1, .indirectdraw=@draw ]
                                          
                                          // call the draw function using the tructure field
                                          myForm.indirectdraw() ==> call function draw(myForm) because the indirectdraw field is inside myForm
                                          

                                          And now, you can start to play with OOP... :-)

                                          What do you think about that ?

                                          [edit by Martin] Added code tags

                                          mixaal 1 Reply Last reply Reply Quote 1
                                          • _
                                            _JKDOS F last edited by _JKDOS

                                            I think someone already mentioned insert and remove at index for arrays, but some more things that would be nice to have for arrays are push() pop() shift() and unshift()

                                            For anyone curious
                                            push() - Adds a new element to end of an array
                                            pop() - Removes last element from an array
                                            unshift() - Adds new element to beginning of an array
                                            shift() - Removes first element from an array

                                            1 Reply Last reply Reply Quote 4
                                            • First post
                                              Last post