PoP roomtest: ресурсы по каталогам образа (BG/KID/LEVELS), цель make hdd
Все .atl лежали в корне диска рядом с exe — с атласами стражей корень зарос бы окончательно. Теперь ресурсы разложены по каталогам (8.3, как принято в DSS): BG\ фон (env0..4, wall, fore, pot) KID\ персонаж (kid0..27, kid.pal, sword, kid_data.bin) GUARD\ стражи (появятся здесь) LEVELS\ уровни (res2001.bin) make_hdd.sh принимает аргумент вида КАТАЛОГ:файл — создаёт каталог на образе и кладёт файл туда; без префикса файл идёт в корень. В Makefile roomtest появилась цель `make hdd`, которая собирает образ с этой раскладкой (раньше команда набиралась руками на 15 строк). Проверено в MAME: DSS открывает пути вида KID\kid0.atl — комната рисуется, Kid и факелы на месте, то есть все атласы, палитра, таблицы анимации и уровень грузятся из подкаталогов. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,8 +25,11 @@ static atlas_t fore_at;
|
||||
static atlas_t pot_at; /* chtab_1: зелья (склянка + пузырёк) */
|
||||
|
||||
static const char *const ENV_ATL[5] = {
|
||||
"pop_env0.atl", "pop_env1.atl", "pop_env2.atl",
|
||||
"pop_env3.atl", "pop_env4.atl"
|
||||
/* Ресурсы разложены по каталогам образа (8.3, как в DSS): BG — фон,
|
||||
* KID — персонаж, GUARD — стражи, LEVELS — уровни. Иначе корень диска
|
||||
* зарастает десятками .atl. */
|
||||
"BG\\pop_env0.atl", "BG\\pop_env1.atl", "BG\\pop_env2.atl",
|
||||
"BG\\pop_env3.atl", "BG\\pop_env4.atl"
|
||||
};
|
||||
|
||||
int pop_bg_load(void)
|
||||
@@ -34,9 +37,9 @@ int pop_bg_load(void)
|
||||
int i;
|
||||
for (i = 0; i < 5; i++)
|
||||
if (atlas_load(&env[i], ENV_ATL[i]) != 0) return -1;
|
||||
if (atlas_load(&wall_at, "pop_wall.atl") != 0) return -1;
|
||||
if (atlas_load(&fore_at, "pop_fore.atl") != 0) return -1;
|
||||
if (atlas_load(&pot_at, "pop_pot.atl") != 0) return -1;
|
||||
if (atlas_load(&wall_at, "BG\\pop_wall.atl") != 0) return -1;
|
||||
if (atlas_load(&fore_at, "BG\\pop_fore.atl") != 0) return -1;
|
||||
if (atlas_load(&pot_at, "BG\\pop_pot.atl") != 0) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user