Sigh, well I've been recently planning to get into TPT modding; particularly for the design of GUIs, tools and file IO for easier FILT programming when designing FILT based computers. I have relatively advanced experience with Java, C and at present am getting into C# (grade 11 and 12 ICS level OOP AP). So I know my way around language syntaxes and program structures, complex systems and control flow and very much could get into Lue and C++ given I take the time to study their syntax, libraries and API. In general, languages are the basic part but being able to proficiently navigate a new API is what it takes before one can actually do anything interesting with the language.
I was looking at this page: https://powdertoy.co.uk/Wiki/W/Powder_Toy_Lua_API.html, but I don't fully believe it's what I was looking for. Essentially the matter of where to obtain more detailed info on modding, the different packages, API definitions, classes and directories that I would need to be accessing to properly interface with the TPT game GUI drawing commands and particle access.
The goals for my mod are to create a TPT program what can be accessed via the tools section of the elements list, probably called PROG, which gives the user access to editing their own ASCII text files which once complete can be 'compiled' and have its contents converted to ctypes that will be programmed to arbitrarily selected lines or boxes of FILT with orientation and format specified by the user. The mod will handle its own user created 'FILT program/file' file IO in its own directory and the program will have various ways for displaying and editing data (things I am quite aware of as to how they would look and how I would program them) and probably might feature options for custom ASCII to binary or ctype compilers which the user may either program in some computer conlang in the mod GUI or simply implement via subclassing an AbstractCompiler.
If TPT has any Swing like GUI framework that would be good to know unless all GUIs are just done using basic graphics draw commands but used consistently, but even in that case it would be more likely that even for that they should have some modular classes for format reusability. Just wondering what freedoms I would have in terms of in sim tool GUI dev if such exists. And again also being given a link to the API for mouse input and selection box creation as well as the obtainment of particle object IDs from screen coordinates would be helpful.
Just as people can be given a Java Swing API and basic to advanced Swing application development protocol, this is what I need and am hoping for in TPT as per Lua and C++ API. To the least some good sources of information to get me started on my search.
I guess that's mostly what I need for now to start up. Anyways, thanks.
...well, there is Development Assistance.
@ mniip Mhmm, I'll be looking into that. Before I can even dare to allow myself , I guess it would be best for me to just go with the Visual C++ IDE for compiling TPT code then. Just that on boxmein's website the C++, Lua and C that of course all compiles to the same TPT functionality . If C is a real option, okay. If Lua is mostly used to avoid the hastle of compiling, I guess I'd stick with C++ because I'm not that much into scripting consoles versus normal IDEs. (I mazt seez al' miez mebiez, mefuz an clazz decs!) So pretty much yeah, reading into the compiling and setup tutorials, downloading the source, figuring out how to navigate through it, putting my files in the right place, and if I wanted to I could have fun with the graphics commands and mouse IO if I can locate something similar to MouseEvent and MouseMotionEvent in Java native to TPT and program my own GUI API in C++.
Thanks.
I hate the interface API, only use it only when necessary... you get much more use making a interface with a bunch of tpt.draw... and mouse clicks events. guess thats why TPTMP, lua script manager, my fuel mod :P and stkm gun all use that.
The interface API is less buggy so I use it for my mods that include buttons to links(so prevent internet tab spam) could probably fix it but just too lazy:P
Also jacob's mod(big important mod for TPT :P) doesn't have the Interface api :/
edit: seeing my previous posts is embarrasing