PDA

View Full Version : FFC can straddle screen on South and East edge but not North and West



Asuna Yuuki Nagato
04-15-2024, 02:25 AM
Steps to recreate:


Right click the canvas
Click Edit New FFC1 in the context menu
Set Tile width and height both to 255 in the FFC Editor
Click OK
Try to drag FFC partially off the canvas

SkyLizardGirl
04-15-2024, 02:40 AM
It makes quest making really difficult, because you cannot post a FFC halfway through the Top or Left of the combo tile
screen.
It only lets you place FFCs from the right and bottom.

This is a really annoying issue that really should be done away with and fixed.

You always have to waste combo making space in a quest, just to work around
this really bad issue.

It would save the developers 'tons of time' and 'free up confusion' and even combo making space used up in any quests.

Asuna Yuuki Nagato
04-15-2024, 03:22 AM
The FFC dragging is handled by the moveffc function in zquest.cpp

Asuna Yuuki Nagato
04-15-2024, 03:36 AM
The body of this if runs when an FFC that was being dragged is dropped:



if((ffx != offx) || (ffy != offy))
{
auto set_ffc_data = set_ffc_command::create_data(Map.CurrScr()->ffcs[i]);
set_ffc_data.x = ffx;
set_ffc_data.y = ffy;
Map.DoSetFFCCommand(Map.getCurrMap(), Map.getCurrScr(), i, set_ffc_data);
saved = false;
}


Subtracting constants from ffx and ffy in the set_ffc_data.{x,y} assigments does result in FFCs straddling the north and west screen edges.

Asuna Yuuki Nagato
04-15-2024, 04:04 AM
doxypos appears to be the culprit. It takes one byte (which is typedef'd to uint8_t) for each mouse coordinate.

Asuna Yuuki Nagato
04-15-2024, 04:33 AM
As a workaround, type a negative number in the X Pos/Y Pos fields of the Data tab of the FFC Editor.