ID:1412886
 
Resolved
The movie editor mode for icons now includes the ability to shift, flip, and turn multiple icons at once.
Applies to:Dream Maker
Status: Resolved (508.1288)

This issue has been resolved.
I believe this could be more faster, for people instead of just copy+paste the icon that is going East direction. To west direction and having to just flip them. It time consuming. what im talking about is.

What im talking about is fliping
http://s7.postimg.org/bo4mwg097/Capture.png

This is icon going East direction.
http://s17.postimg.org/blx8xxm4f/Capture1.png

Now I want icon going Alter direction (West)
http://s21.postimg.org/4637pa6nb/Capture3.png

If possible Please do this, takes time doing it.
I could save 5 minutes of my life.
I think this feature was requested before.

As a workaround, you can actually flip the appearance of your objects in code by horizontally flipping the transform matrix.
<dm>
mob
// Call this when you set the player's dir
// or whenever the player's dir is changed
// by horizontal movement or whatever.
// This assumes your player's icon is just one
// direction facing east.
proc/SetDir(Dir)
dir = Dir || dir
if(dir & EAST)
transform = null
else if(dir & WEST)
// Set the transform to a new matrix, where
// the x-axis is inverted (y is not affected)
transform = matrix(-1, 1, MATRIX_SCALE)

++ This would save like about 2 minutes iconning sprites :D
Pretty sure it was Falacy who requested this. He wanted batch flip and rotate buttons for an entire selection in the "movie" editor. I still think it's a good idea; it's just been low-priority.
As Kaiochao said, you could simply modify use the code to change it at runtime. You could apply it directly to the Move() proc.
mob
var
lastDir=EAST//Set the default direction your icon is facing.
proc
setDir()
if(dir&EAST&&lastDir!=EAST)//Check if the movement direction has the EAST tag in it, if lastDir is not equivalent to it.
lastDir=EAST//Set the current lastDir to EAST.
transform=null//Reset the object matrix.
else if(dir&WEST&&lastDir!=WEST)//Alternative check clause to see if the movement direction includes WEST tag and lastDir is not equivalent to it.
lastDir=WEST//Set the current lastDir to WEST
transform=matrix(-1,1,MATRIX_SCALE)//Reverses the object matrix on the x axis.
Move(loc,dir)
..()
setDir()

I'm rather bad at commenting code.
It seems kind of gaudy to do this with atom.transform when it can be built right into the icon. Doable, but it makes good sense to have something like this for the icon editor itself.

When using // comments, always put a space or a tab in front for readability.
In response to Lummox JR
Thank you for the tip. It also has benefits to do it with atom.transform, one of which would be that icon files are smaller and it can simplify icon_state flicks etc, although how it translates into efficiency remains to be tested.
In response to Taitz
Taitz wrote:
Thank you for the tip. It also has benefits to do it with atom.transform, one of which would be that icon files are smaller and it can simplify icon_state flicks etc, although how it translates into efficiency remains to be tested.

Difference would be a number of bytes of memory.

You'd be trading network bandwidth from startup and appearance communication and moving it over to additional communication of matrixes over the network.

Either way, it's negligible.
You don't even need to use matrix, Flip() works well for right & left direction.
In response to Eternal_Memories
Eternal_Memories wrote:
You don't even need to use matrix, Flip() works well for right & left direction.

Going try but wouldn't it cause CPU go in higher process?
In response to DarkNinjaNaut
DarkNinjaNaut wrote:
Eternal_Memories wrote:
You don't even need to use matrix, Flip() works well for right & left direction.

Going try but wouldn't it cause CPU go in higher process?

It shouldn't cause too much CPU, just use it when you need it and make sure it doesn't flip icons that were already flipped, so you don't waste resources on something that has already been done by the server.
In response to Eternal_Memories
Transform effects aren't even done by the server. A horizontal flip matrix also only needs to be created once.
In response to Kaiochao
Convenient. Reading all these posts.. I was coming to the conclusion, "Why? When this would cause problems in the longrun with CPU from a lot of players." Guess you just answered my question before I asked it.
Needed bump this. Not sure if it is feasible or not. Still believe batch(flip) would be great for icon editor.
I know that the icon editor isn't really a top priority section of dream maker that generally gets worked on, but I was wondering if we could add a few hot-keys to it.

Example:

Here we have some frames, we want to flip these frames to the other direction. Currently, you would need to go into each frame and do the mirror flip 11 times (1 for each frame). This can be time consuming for larger animations and just generally annoying. You could also open the DMI file in another program and flip all of the states, but I would like something faster and within DM.

What I would like to see added is this...

First you select the frames you want.


Next, you simply hit Ctrl + (Left/Right Arrow Key) for Vertical flip or Ctrl + (Up/Down Arrow Key) for Horizontal flip.


Another hot-key based on the same idea is Shift + (Arrow Key) to move the frames in the pixel direction and Alt + (Left/Right Arrow Key) for rotations.

I don't really know if this is possible with DM or not but it is something I would really like to see and use if it is.

Other Similar Features:

http://www.byond.com/forum/?post=97332
http://www.byond.com/forum/?post=1412886
In response to Akto
I realize this is a bit annoying, but you could use Flip() in your game to obtain the icon flipped.
In response to Akto
Oh, I know that. I am currently using Flip(). I just was asking if we could have hot-keys for the functions already built into the icon editor and on a more multi-function scale.
In response to Akto
I think this would be quite helpful. More than once I've wished for an easy way of flipping multiple states.
In response to Akto
Currently Crying cuz I spent an hour flipping 500x500 icon 65 Frames of sadness only to realize I could have done it with Flip().

Also If Im understanding correctly Shift + Arrow would reverse the order of the frames themselves?

ie. I made a ball falling animation on the East Direction

-I copied the east direction, pasted it into the west row -pressed shift + Arrow,
-the frames are now reversed
-the ball would be rising instead of falling?
In response to Akto
I was thinking more along the lines of it would move the contents of the frames 1 pixel in the arrows direction. There is already a reverse function in the icon editor.
Page: 1 2