Нельзя потерять то, чего нет. Так, как вы это показали, ваш перехват будет несовместим с другими.
Во-первых, обычно перехватчик вызывает перехватываемую функцию, а не наоборот. Во-вторых, не объявлен макрос "_ALS_OnGameModeInit" для совместимости (я не буду здесь углубляться в подробности о том, как это всё работает, ибо я это уже объяснял в
уроках про перехваты).
Касаемо символа ".", совершенно вас не понимаю. Каким образом использование лишнего макроса должно улучшить читаемость? Тем более, что
до макроподстановки название функции отделяется одним символом ".", что
после замены тоже только одним символом "_" (правда, в вашем коде этот символ ещё и зачем-то поставлен перед префиксом). Так в чём профит?