Originally posted by Rena Kunisaki
Serialization shouldn't be too difficult. Each class needs to be able to write all its important state/config information to a binary stream and read it back again. I doubt these classes have much more than a couple variables?
A bit of digging shows that the .NET framework actually has a built-in method for serialization. I guess we'll see how that goes.
Originally posted by Rena Kunisaki
I wonder how efficient the resulting code is, though... SNES isn't really a place where you can spare cycles, especially when SMW is hogging up most of your CPU time.
It's fairly efficient. The generated code can have a few flaws in certain places, but it's rarely more than a handful of cycles (that, because these are blocks, are usually only run once within a given period of time).
Originally posted by TLMB
Going back to this, is it possibe to have an option to change multiple blocks at once? I tried doing it for 3 other blocks and itself and the code became bulky do the the same routine being pasted into the block.
It's possible, but it would be a bit difficult to find an interface for such an action's dialog. The dialog for the current action is already big and significantly more complicated and imposing than the others, and I'm not sure I want to make it "worse", so to speak. But I'll definitely keep it in mind.
Originally posted by SSBurai
It's pretty good, but it appeared an error.
Every time I created a block with hurt player, it didn't really hurt the player. Help, please.
Every time I created a block with hurt player, it didn't really hurt the player. Help, please.
I'm not having that problem. Are you sure you're using the right events and inserting the block correctly?
Originally posted by Sind
First off, could you tell us a bit about the program itself?
For example, what did you code it in(and with what library(/ies))
Could it be ported to other platforms, or is it Windows-only?
For example, what did you code it in(and with what library(/ies))
Could it be ported to other platforms, or is it Windows-only?
It's coded in C#, and should be compatible with Mono. The code is pretty basic, though, and if someone really dedicated wanted to recode the entire thing in C++ it would be fairly straightforward (if a bit tedious).
Originally posted by Sind
simple - I see that you already have a "do something every x frame " or "every other x frames" code. Think you could incorporate the Framal blocks code(i.e., changing behavior depending on exAnim frame)
link for more info
link for more info
Yeah, that's a good idea. Next update, definitely.
Originally posted by Sind
possibly less simple - The program right now is a bit to mouse-centric IMO. Think you could add some keyboard shortcuts? For example, if I have marked a line in the commands window, and press enter or insert, it should perform the "add" buttons code. Or if I mark a line in the "actions" window and press del or backspace, it should delete the line. If I press page down or page up it could move the line up or down, respectively. Perhaps also something for the other buttons.
Another good idea. I'll try and see how it goes; capturing keystrokes with .NET forms is ugh though.
Originally posted by Sind
Ideally, one should be able to use the whole thing without using the mouse at all(which right now is actually possible; you just have to endure some very awkward tabbing =P). But of course, having a few shortcuts would be good enough.
Yeah, I never bothered to optimize the tab order. I should get to that.
Originally posted by Sind
Definitely less simple - How possible would it be to allow typing in the "actions" window? I'm going to assume that it's set up in a way that makes this very hard to implement now, but you never know, so I'll ask anyways.
Extremely difficult. The code that generates the action that tests a player's powerup status, for example, looks like this:
Code
return "If the player is " + (branchType.ct == ComparisonType.NotEqual ? "not " : "")
+ enumerations[value].ToLower() + "...";
To match what the user was typing, the program would have to go through every possible action, try every possible value and every possible comparison type and see if the generated string matched what was being typed. Not worth it, in my opinion.
Originally posted by Sind
b) the "Change this block into a Map16 tile" action will insert the routine n times, once for every time you call it. Add a boolean that is set once it has been inserted once, and don't insert it if the boolean is set.
Argh how did I miss that! The whole purpose of having the ability to insert routines that could be JSR'd to like that was so that this didn't happen. It should be fixed now; thank you for reporting that.
I should get a new layout.
Probably won't, though.
Probably won't, though.