sfall-team / sfall

sfall - Engine modifications for Fallout 2
https://sfall-team.github.io/sfall/
GNU General Public License v3.0
346 stars 40 forks source link

Un-hardcode Hero Appearance #251

Open burner1024 opened 5 years ago

burner1024 commented 5 years ago

All the paths and names for this mod seem to be hardcoded in sfall. Would it be possible to un-hardcode, so that it could be packaged like a normal .dat? Also, paths to msg files are the same, which makes it troublesome for hooking into translation system. If they included appearance name (text/english/game/apprace_hfr00s00.msg, for example), that would solve the problem.

NovaRain commented 5 years ago

Hero Appearance FRMs can be packed into individual .dat files.

burner1024 commented 5 years ago

You mean each one separately, or how does it work? I simply moved "appearance" to data/ and the mod stopped working.

NovaRain commented 5 years ago

Each one separately in <GameRoot>\Appearance\. Here's the repack I made some time ago: https://mega.nz/#!MBJDWQaZ!xJelF1dE2deSK7uoN8yO_aPF3rEpt_r6zPYMQbWB3i8

burner1024 commented 5 years ago

Oh, that's much better. Now if only I figure out a good way to handle translations...

burner1024 commented 5 years ago

Edit: spoke too soon. Still, the mod can't be moved into mods dir, nor packaged as a single file. And dat name regex seems to be hardcoded as well.

NovaRain commented 5 years ago

And dat name regex seems to be hardcoded as well.

Dat names are the same as dir names for the mod to sort race/style data, I guess what you're asking is close to overhaul the hero appearance mod.

burner1024 commented 5 years ago

Unhardcoding, overhauling - doesn't really matter how to call it, does it?

FakelsHub commented 5 years ago

Ничего не планирую менять в системе внешности. Слишком мутный в нем код.

FakelsHub commented 5 years ago

@burner1024 вроде как мод не может читать одновременно из .dat и из папки, да?

burner1024 commented 5 years ago

Не знаю, одновременно не пробовал.

FakelsHub commented 5 years ago

Also, paths to msg files are the same, which makes it troublesome for hooking into translation system.

Сделал чтобы искало файлы одновреименно из папки и из dat как у Cratty. Ты можешь упаковать frm изображения в соответствующие dat. без msg файлов, А msg поместить в отдельные папки.

If they included appearance name (text/english/game/apprace_hfr00s00.msg, for example),

Могу предложить такой вид

AppStyleXX.msg
AppRaceXX.msg

Изменить название для самих .dat файлов нельзя, они подключаются при выборе соответствующего внешнего вида Героя. Расположение менять думаю не имеет смысла.

NovaRain commented 5 years ago

For now the folder structure for a race/style can be:

|   HFR00S00.DAT
|   ...
|   HMR00S00.DAT
|   HMR00S01.DAT
|   ...
|
\---HMR00S01
    +---art
    |   \---skilldex
    |           AppStyle.FRM // if you want to override the one in .dat
    |
    \---text
        +---English
        |   \---Game
        |           AppStyle.msg
        \---German
            \---Game
                    AppStyle.msg

I think that should be enough to support installing multiple languages?

burner1024 commented 5 years ago

Изменить название для самих .dat файлов нельзя, они подключаются при выборе соответствующего внешнего вида Героя.

Да вроде и не надо менять?

Расположение менять думаю не имеет смысла.

Это менее удобно, но я думаю не критично.

I think that should be enough to support installing multiple languages?

Installing is not a problem, I think hero appearance ships with multiple languages since a long time ago? Hooking it into translation system, however, requires that all files pertaining to a certain language reside in the same directory. And that is still not possible, as far as I can see.

burner1024 commented 5 years ago

On the same note, what path should be used with fs_copy for, say, appearance\hfr00s03\art\critters\_hfmaxxat.frm? I can't find the correct one.

FakelsHub commented 5 years ago

по идеи точно без appearance\hfr00s03 Но это может физически не работать.

burner1024 commented 5 years ago

Тоже не работает. Непонятно, когда подмена происходит. Ну в общем это не так критично, у этих frm и так fps достаточно высокий.

FakelsHub commented 5 years ago

Непонятно, когда подмена происходит.

путь к папке подключается динамически, уже после того как выполнена функция скопировать файл, т.е. такого файла еще не существует. Хотя, а что возвращают функции fs_copy и fs_find -1 ?

burner1024 commented 5 years ago

Да, -1. fs_copy по крайней мере, fs_find не проверял. В общем, если в стандартный мод не будет переделки, то конкретно с fs_ функциями возиться нет я думаю.