HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Отображение названий глав в списке сохранений (https://hlfx.ru/forum/showthread.php?threadid=5025)
Отправлено FreeSlave 13-07-2017 в 15:34:
Отображение названий глав в списке сохранений
Как сабж реализовать в стороннем моде?
В Half-Life и Opposing Force при открытии меню Load game в списке отображаются названия глав. В модах я такого не помню, там отображаются названия файлов карт (без расширения). Пробовал ставить message у worldspawn - не помогло.
__________________
I'm on github
I'm on opendesktop.org
Отправлено XaeroX 13-07-2017 в 15:56:
FreeSlave
Ну очевидно же - это вшито в движок, конкретно для халфы и опфора.
В ретрибушене тоже показываются названия глав, но только лишь потому, что там карты называются c0a0, c1a0 и т.п.
И ещё сейчас придёт Дядя Миша и расскажет про pfnSaveGameComment в ксаше.
__________________
Отправлено a1batross 13-07-2017 в 16:01:
XaeroX не только в Ксаше, в голдсорсе тоже.
Отправлено FreeSlave 13-07-2017 в 16:06:
XaeroX, спасибо.
Я думал, в ретрибьюшене оно так только для того, чтоб карты не показывались в списке мультиплеерных. А оказывается ещё и для лейблов сэйвов.
__________________
I'm on github
I'm on opendesktop.org
Отправлено Дядя Миша 13-07-2017 в 17:37:
Я смотрю народ про эти сохранения вообще не вкурсе. Хотя казалось бы. Начнём стого, что эта табличка впервые появилась в кваке (а может и в дууме, но мне лень провирять).
C++ Source Code:
3 | {"start", "Entrance"}, // 0 |
5 | {"e1m1", "Slipgate Complex"}, // 1 |
6 | {"e1m2", "Castle of the Damned"}, |
7 | {"e1m3", "The Necropolis"}, |
8 | {"e1m4", "The Grisly Grotto"}, |
9 | {"e1m5", "Gloom Keep"}, |
10 | {"e1m6", "The Door To Chthon"}, |
11 | {"e1m7", "The House of Chthon"}, |
12 | {"e1m8", "Ziggurat Vertigo"}, |
14 | {"e2m1", "The Installation"}, // 9 |
15 | {"e2m2", "Ogre Citadel"}, |
16 | {"e2m3", "Crypt of Decay"}, |
17 | {"e2m4", "The Ebon Fortress"}, |
18 | {"e2m5", "The Wizard's Manse"}, |
19 | {"e2m6", "The Dismal Oubliette"}, |
20 | {"e2m7", "Underearth"}, |
22 | {"e3m1", "Termination Central"}, // 16 |
23 | {"e3m2", "The Vaults of Zin"}, |
24 | {"e3m3", "The Tomb of Terror"}, |
25 | {"e3m4", "Satan's Dark Delight"}, |
26 | {"e3m5", "Wind Tunnels"}, |
27 | {"e3m6", "Chambers of Torment"}, |
28 | {"e3m7", "The Haunted Halls"}, |
30 | {"e4m1", "The Sewage System"}, // 23 |
31 | {"e4m2", "The Tower of Despair"}, |
32 | {"e4m3", "The Elder God Shrine"}, |
33 | {"e4m4", "The Palace of Hate"}, |
34 | {"e4m5", "Hell's Atrium"}, |
35 | {"e4m6", "The Pain Maze"}, |
36 | {"e4m7", "Azure Agony"}, |
37 | {"e4m8", "The Nameless City"}, |
39 | {"end", "Shub-Niggurath's Pit"}, // 31 |
41 | {"dm1", "Place of Two Deaths"}, // 32 |
42 | {"dm2", "Claustrophobopolis"}, |
43 | {"dm3", "The Abandoned Base"}, |
44 | {"dm4", "The Bad Place"}, |
45 | {"dm5", "The Cistern"}, |
46 | {"dm6", "The Dark Zone"} |
Там же вкомпилено для хипнотика и рагуя, но я не стал их приводить - итак понятно.
Теперь про халфовскую:
C++ Source Code:
1 | static TITLECOMMENT gTitleComments[] = |
3 | { "T0A0", "#T0A0TITLE" }, |
4 | { "C0A0", "#C0A0TITLE" }, |
5 | { "C1A0", "#C1A0TITLE" }, |
6 | { "C0A1", "#C0A1TITLE" }, |
7 | { "C1A1", "#C1A1TITLE" }, |
8 | { "C1A2", "#C1A2TITLE" }, |
9 | { "C1A3", "#C1A3TITLE" }, |
10 | { "C1A4", "#C1A4TITLE" }, |
11 | { "C2A1", "#C2A1TITLE" }, |
12 | { "C2A2", "#C2A2TITLE" }, |
13 | { "C2A3", "#C2A3TITLE" }, |
14 | { "C2A4D", "#C2A4DTITLE" }, // These must appear before "C2A4" so all other map names starting with C2A4 get that title |
15 | { "C2A4E", "#C2A4ETITLE" }, |
16 | { "C2A4F", "#C2A4FTITLE" }, |
17 | { "C2A4G", "#C2A4GTITLE" }, |
18 | { "C2A4", "#C2A4TITLE" }, |
19 | { "C2A5", "#C2A5TITLE" }, |
20 | { "C3A1", "#C3A1TITLE" }, |
21 | { "C3A2", "#C3A2TITLE" }, |
22 | { "C4A1A", "#C4A1ATITLE" }, // Order is important, see above |
23 | { "C4A1B", "#C4A1BTITLE" }, |
24 | { "C4A1C", "#C4A1CTITLE" }, |
25 | { "C4A1D", "#C4A1DTITLE" }, |
26 | { "C4A1E", "#C4A1ETITLE" }, |
27 | { "C4A1", "#C4A1TITLE" }, |
28 | { "C4A2", "#C4A2TITLE" }, |
29 | { "C4A3", "#C4A3TITLE" }, |
30 | { "C5A1", "#C5A1TITLE" } |
Вальва там конкретно напутала в эпизодах. По-хорошему имя для сейва должно было приходить из world->v.netname. Пример
C++ Source Code:
"chaptertitle" "T0A0TITLE" |
Но вальва или не стала свиазываться, или для локализации или они в каких-то именах некоторых карта там чота напутоле, ну корочи вместо того чтобы брать эту строчку из pev->netname закодили вот эту вот дурацкую табличку. Обратите внимание, что табличка не учитывает какие-то диапазоны уровней. Только те карты, которые есть в списке. Как оно распространяется на последующие уровни я понятия не имею, никогда не интерисовался. А ксаш всегда брал название из world->v.message, хотя по идее надо переделать на world->v.netname и взять реальную мессагу из titles.txt__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'