/** Expand expression, i.e. multiply it out and return the result as a new * expression. */ ex basic::expand(unsigned options) const { if (nops() == 0) return (options == 0) ? setflag(status_flags::expanded) : *this; else { expand_map_function map_expand(options); return ex_to<basic>(map(map_expand)).setflag(options == 0 ? status_flags::expanded : 0); } }
/* * Initialize a new submap * * ASM 0cc3 */ void map_init(void) { /*sys_printf("xrick/map_init: map=%#04x submap=%#04x\n", g_map, game_submap);*/ #ifdef GFXPC draw_filter = 0xffff; map_tilesBank = (map_submaps[game_submap].page == 1) ? 3 : 2; #endif #ifdef GFXST map_tilesBank = (map_submaps[game_submap].page == 1) ? 2 : 1; #endif map_eflg_expand((map_submaps[game_submap].page == 1) ? 0x10 : 0x00); map_expand(); ent_reset(); ent_actvis(map_frow + MAP_ROW_SCRTOP, map_frow + MAP_ROW_SCRBOT); ent_actvis(map_frow + MAP_ROW_HTTOP, map_frow + MAP_ROW_HTBOT); ent_actvis(map_frow + MAP_ROW_HBTOP, map_frow + MAP_ROW_HBBOT); }