Commit Graph
2699 Commits
Author SHA1 Message Date
Roland van Laar 581dd9c9d2 DEVTOOLS: COMPANION: cleanup
- Remove a superfluous import
2021-08-22 11:10:00 +02:00
Roland van Laar d32d232e05 DEVTOOLS: DUMPERCOMPANION: handle all filenames
Always punyencode filenames when the filename contains a char that
should be escaped. This makes it work better with windows.

Windows has a short list of chars that not allowed:
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions
2021-08-22 00:51:34 +02:00
Roland van Laar 1e9ca945b9 JANITORAL: DEVTOOLS: reformat code
Using # fmt: off and # fmt: off allows for excluding the decode map when
formatting. Other lines are formatted with black
2021-08-22 00:51:34 +02:00
Roland van Laar 81be6b459b DEVTOOLS: DUMPERCOMPANION: fix double encoding
\x81 is used as a control character to denote a special char.
\x81 was encoded put in the end result twice because of a missing elif.

Includes unittest fix.
2021-08-21 09:40:17 +02:00
Roland van Laar 00d54a3358 DEVTOOLS: DUMPERCOMPANION: fix logging mac mode
Re-enable printing messages when punyencoding files in mac mode.
2021-08-21 09:18:43 +02:00
Roland van Laar 32991d2152 DEVTOOLS: DUMPERCOMPANION: punyencode dirs on mac
Enable punyencoding of directory names in mac mode.

A refactor of the code to handle punyencoding in mac mode.
It's now a two step process:
  - first collect the resource forks into macbinaries and
  - second punyencode recursively all files and directories
2021-08-21 00:15:16 +02:00
Roland van Laar 86f6c137f5 DEVTOOLS: DUMPERCOMPANION: support mac_japanese
The dumper companion now support dumping mac_japanese isos. MachFS
expects encodes everything in mac_roman. For mac_japanese we decode it
as mac_roman and then encode it ourselve.

    `dumper-companion.py iso --japanese --punycode path/to/iso path/to/dir`

- A conversion table and code was added: taken from:
    https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT
- file_to_macbin takes an encoded filename to allow for both mac_japanse
  and mac_roman encodings.
- punyfication is now an explicit option when dumping isos
2021-08-20 23:56:18 +02:00
Roland van Laar b61e973099 DEVTOOLS: DUMPERCOMPANION fix macbinary padding
Macbinary forks are padded to be a multiple of 128 bytes.
An extra padding of 128 bytes was added when 0 were needed.

This fixes that.
2021-08-20 23:56:18 +02:00
Roland van Laar f73f481ec2 DEVTOOLS: COMPANION: linter fixes
- remove encoding parameter from `punyencode`
- fix return types of type hints
2021-08-20 23:56:18 +02:00
Roland van Laar 82ba7e9830 DEVTOOL: COMPANION
Added support for Japanese encoding.

Remove option for specifying encodings. All input is expected to be
unicode.
2021-08-18 22:39:06 +02:00
BLooperZ 68b9b909ee KYRA: HOF: reverse english names in hebrew 2021-08-17 19:43:48 +02:00
BLooperZ bacd737ea3 KYRA: add support for kyra2 fan translation 2021-08-17 19:43:48 +02:00
Eugene Sandulenko 7642ecf0a9 DEVTOOLS: Fix URL for create_classicmacfonts.sh 2021-08-17 14:37:40 +02:00
alxpnv 4506b1d48c ACHIEVEMENTS: add Sanitarium support 2021-08-16 15:06:21 +03:00
Roland van Laar f825c39d64 DEVTOOLS: COMPANION: code improvements
- mac mode: show which file's attributes can't be read
- mac mode: use exit code 1 when bailing
- implement exit codes for all modes
- fix spelling mistake
- sort imports, python once first, then external packages
- refactor: use os.path.join only once per file
2021-08-12 21:57:28 +02:00
Eugene Sandulenko b10c55abcb DEVTOOLS: COMPANION: Fix error processing 2021-08-12 20:34:57 +02:00
Eugene Sandulenko 0e69fb7e61 DEVTOOLS: COMPANION: Use xattr module for creator/type extraction 2021-08-12 19:36:58 +02:00
Maxim Kovalenko 88589a852c XEEN: RU Translated Mirror aliases 2021-08-11 20:06:01 -07:00
Eugene Sandulenko 9ba6f1fe01 DEVTOOLS: COMPANION: Keep the file names in mac mode, set the modification time 2021-08-09 23:03:00 +02:00
Eugene Sandulenko 681fc2eaa3 DEVTOOLS: COMPANION: Set the macbinary type and creator for mac mode 2021-08-09 22:41:12 +02:00
Eugene Sandulenko 8952db2dfd DEVTOOLS: COMPANION: Fix mac mode and set file timestamps 2021-08-09 22:09:03 +02:00
Roland van Laar 0e0aef0201 DEVTOOLS: COMPANION: add macbinary mode
`dumper-companion.py mac [--punycode] directory` will recursively look
for resourceforks and encode them inplace as macbinary.

When `--punycode` is enabled it will encode filenames in punycode.

This is a MacOS only feature.
2021-08-09 15:54:05 +02:00
Roland van Laar 66568ca700 DEVTOOLS: COMPANION: Improve helptext
Make it clear that punyencoding of stdin is supported.
2021-08-09 15:54:05 +02:00
Roland van Laar 4d00111acf DEVTOOLS: COMPANION: hfs dump use existing dir
Don't complain when the directory to write to already exists.
2021-08-09 15:54:05 +02:00
Roland van Laar 8ddb3aec3a DEVTOOLS: COMPANION: remove superfluous statement 2021-08-09 15:54:05 +02:00
Roland van Laar c586311c26 DEVTOOLS: COMPANION: add development info helptext 2021-08-09 15:54:05 +02:00
Roland van Laar 6e5d7c2395 DEVTOOLS: COMPANION: bring escape inline
Original dumper-companion.pl script encoded \x81 to \x81\x79\x81.
- added test to check for correct behavior
- refactored escape string to handle this special case
2021-08-09 00:22:18 +02:00
Roland van Laar a1a31748e8 DEVTOOLS: COMPANION: change escape char
\x81 is used to encode escaped chars. This change brings it in line with
the dumpercompanion.pl.
2021-08-09 00:09:52 +02:00
Roland van Laar 0f46b30654 DEVTOOLS: COMPANION: punyencode strings
Adds the `str` subcommand:

./dumper-companion.py str STRING
    punyencode the string STRING
./dumper-companion.py str --stdin
    punyencode stdin

The HFS iso dumper is moved into it's own subcommand:

./dumper-companion.py iso -e encoding input_iso output_dir
2021-08-08 23:42:01 +02:00
Eugene Sandulenko 8892902c8f DEVTOOLS: COMPANION: Keep the original filename encoding in MacBinary 2021-08-06 13:29:06 +02:00
Max Horn 2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
2021-08-05 00:01:46 +02:00
Roland van Laar 064a266a22 DEVTOOLS: COMPANION: remove debug statements 2021-08-04 16:54:06 +02:00
Roland van Laar 38ee5037e5 DEVTOOLS: COMPANION: create python version
It reads an hfs formatted iso and extracts its contents. The output
follows two rules:
- A file is saved as macbinary when it has a resource fork and
- filenames with non-ascii chars are converted into a punycode variant.

An initial verson of this python script was created by: @eientei on
discord.
2021-08-04 16:02:21 +02:00
Orgad Shaneh 0b2ae9fa5e DEVTOOLS: Replace ugly SDL/MinGW hack with a cleaner hack
Instead of having main=SDL_main defined by pkg-config/sdl2-config --cflags
and undefining it everywhere, strip it in its origin.
2021-08-03 07:35:15 +03:00
D G Turner 5e0aeffb58 DEVTOOLS: Fix create_xeen Compilation 2021-08-03 04:15:36 +01:00
Orgad Shaneh f084d29e9a DEVTOOLS: Fix create_xeen compilation without C++11 2021-08-02 23:12:57 +03:00
Eugene Sandulenko d71bc64e83 DEVTOOLS: XEEN: Fix warnings 2021-08-02 18:34:36 +02:00
Eugene Sandulenko 11ed99bd62 DEVTOOLS: XEEN: Fix compilation on some platforms 2021-08-02 18:34:36 +02:00
Orgad Shaneh 99773ee204 DEVTOOLS: Fix create_project compilation on Windows with UNICODE defined 2021-08-02 17:47:29 +02:00
Maxim Kovalenko 0b038463ff XEEN: RU Fixed item materials 2021-08-02 17:35:18 +02:00
Maxim Kovalenko 4ea20488cc XEEN: RU create_xeen removed const in int return 2021-08-02 17:35:18 +02:00
Maxim Kovalenko 805f55f1cd XEEN: RU Fixed some localized strings. Fixed intro subtitles.
Fixed optimizer issues
2021-08-02 17:35:18 +02:00
Maxim Kovalenko 21c727b2c7 XEEN: RU Fixed names according to conventions 2021-08-02 17:35:18 +02:00
Maxim Kovalenko b655cfc03e XEEN: RU Moving translated hotkeys to resources.
Hotkeys changed in locations, CoX Menu.
Margin fix
2021-08-02 17:35:18 +02:00
Maxim Kovalenko 2da836da6c XEEN: RU Moving translated hotkeys to resources.
Hotkeys changed in party, quests, quick_fight, spells dialogs and bank location.
2021-08-02 17:35:18 +02:00
Maxim Kovalenko 3bba21845d XEEN: RU Moving translated hotkeys to resources.
Hotkeys changed in items dialogs.
2021-08-02 17:35:18 +02:00
Maxim Kovalenko b16ab4382e XEEN: RU Moving translated hotkeys to resources.
Hotkeys changed in char_info, control_panel, create_char, difficulty dialogs.
2021-08-02 17:35:18 +02:00
Maxim Kovalenko 587031a2e5 XEEN: RU Further sharpening
change hotkeys in dialogs_create_char, dialogs_difficulty
2021-08-02 17:35:18 +02:00
Maxim Kovalenko 9f80f452e4 XEEN: RU Translated all constants.h strings for Clouds. Ready for test. 2021-08-02 17:35:18 +02:00
Maxim Kovalenko 325eb338fe XEEN: RU Further sharpening
Added 'Born' gender form and plural form for food
2021-08-02 17:35:18 +02:00