//Declares/Prototypes
void PopupMenu(PANEL* *ReturnPanel, STRING* SourceData, var layer); //Want to keep this "default" if I can
void PopupMenu(PANEL* *ReturnPanel, STRING* SourceData, var layer, var pos_x, var pos_y);
void PopupMenu(PANEL* *ReturnPanel, STRING* SourceData, var layer, var pos_x, var pos_y, STRING* font);
//Usage (FAILS unless I kill the first two prototypes and stick with the third)
PANEL* tmpPanel;
...
PopupMenu(tmpPanel,"Dummy_string_to_test_funtion",100,10,15,"Times New Roman#24b");
...
//Actual Functions
void PopupMenu(PANEL* *ReturnPanel, STRING* SourceData, var layer)
{ PopupMenu(ReturnPanel, SourceData, layer, 0, 0, ,"Times New Roman#12b"); }
//
void PopupMenu(PANEL* *ReturnPanel, STRING* SourceData, var layer, var pos_x, var pos_y)
{ PopupMenu(ReturnPanel, SourceData, layer, pos_x, pos_y, ,"Times New Roman#12b"); }
////
void PopupMenu(PANEL* *ReturnPanel, STRING* SourceData, var layer, var pos_x, var pos_y, STRING* font)
{ ...performed code (eventually) by all overloads... }