Jump is weaker in 7/8 vs 6 to begin with, are you sure you're not just experiencing 8's jump inside 6's map design?Lucius wrote:Jump spell is very weak compared to vanilla games. I cannot jump into many places which could have been reached in vanilla mm6.
Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 05.11.2023]
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
- tomchen1989
- Pixie
- Posts: 140
- Joined: 21 Jun 2008
- Location: Europe / China
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
@Templayer
1. OK looks like Q is still there but "Ethric" and "Agar" are lost and become Power Lich I guess (though I haven't checked them in the game)
2. OK thank you. For now, MMMerge's localization is a little messy. I'll see what I can do, perhaps make a script to convert all translatable strings to .po file (GNU gettext) which will be easy to manage
3. cp1250 (aka Windows-1250) is commonly used as one-byte encoding for Czech language. I guess I can safely assume Czech version MM uses cp1250. Therefore you have to save txt files with cp1250/windows1250 encoding, and use .fnt files from Czech version MM instead of English, French version's .fnt files.
Compare:
Windows-1250 Character set (Czech and central EU langs)
Windows-1251 Character set (Russian and Cyrillic script-based)
Windows-1252 Character set (French, German and Western EU langs)
Hex code CA (=binary code 11001010) represents Ę in cp1250, К in cp1251, and Ê cp1252. Switch your .fnt files (more like a code to character shape mapping file) to read those different encodings.
Each letter from the 26 basic latin letters always has the same code in these encodings. Therefore, lucky for English, it can use any one-byte encoding. However it usually uses Western EU langs' cp1252.
Vitually any text editor can save or open a file with a specific encoding. You could use EditPlus as your text editor, it preserves CRLF and LF, while VS Code, today's most popular text editor, does not allow CRLF and LF to co-exist in a same file, forcibly converting one to the other, making it not able to edit MM's txts, which use LF as in-string line break and CRLF as table line break.
1 and 2-byte encoding support would be enough. I don't see Unicode support is useful, unless multiple languages such as English, Russian, Greek, Chinese, Korean have to largely co-exist in the game.
GrayFace's TxtEdit works very nicely except it can't select another encoding, it has English and Russian interface, it seems that users have to use either Windows SystemLocale encoding for default English interface, or cp1251 (Russian) encoding when the interface is set to Russian version. Interface language is one thing, character encoding is another, it should allow to change character encoding like any other text editor. Actually, if TxtEdit has settings to allow encoding change, as well as EOL selection, comma/tab seperator switch, it'll become a very decent tool for editing not only MM's .txt, but ANY CSV file.
1. OK looks like Q is still there but "Ethric" and "Agar" are lost and become Power Lich I guess (though I haven't checked them in the game)
2. OK thank you. For now, MMMerge's localization is a little messy. I'll see what I can do, perhaps make a script to convert all translatable strings to .po file (GNU gettext) which will be easy to manage
3. cp1250 (aka Windows-1250) is commonly used as one-byte encoding for Czech language. I guess I can safely assume Czech version MM uses cp1250. Therefore you have to save txt files with cp1250/windows1250 encoding, and use .fnt files from Czech version MM instead of English, French version's .fnt files.
Compare:
Windows-1250 Character set (Czech and central EU langs)
Windows-1251 Character set (Russian and Cyrillic script-based)
Windows-1252 Character set (French, German and Western EU langs)
Hex code CA (=binary code 11001010) represents Ę in cp1250, К in cp1251, and Ê cp1252. Switch your .fnt files (more like a code to character shape mapping file) to read those different encodings.
Each letter from the 26 basic latin letters always has the same code in these encodings. Therefore, lucky for English, it can use any one-byte encoding. However it usually uses Western EU langs' cp1252.
Vitually any text editor can save or open a file with a specific encoding. You could use EditPlus as your text editor, it preserves CRLF and LF, while VS Code, today's most popular text editor, does not allow CRLF and LF to co-exist in a same file, forcibly converting one to the other, making it not able to edit MM's txts, which use LF as in-string line break and CRLF as table line break.
1 and 2-byte encoding support would be enough. I don't see Unicode support is useful, unless multiple languages such as English, Russian, Greek, Chinese, Korean have to largely co-exist in the game.
GrayFace's TxtEdit works very nicely except it can't select another encoding, it has English and Russian interface, it seems that users have to use either Windows SystemLocale encoding for default English interface, or cp1251 (Russian) encoding when the interface is set to Russian version. Interface language is one thing, character encoding is another, it should allow to change character encoding like any other text editor. Actually, if TxtEdit has settings to allow encoding change, as well as EOL selection, comma/tab seperator switch, it'll become a very decent tool for editing not only MM's .txt, but ANY CSV file.
- tomchen1989
- Pixie
- Posts: 140
- Joined: 21 Jun 2008
- Location: Europe / China
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
@Templayer
I've checked https://www.dropbox.com/sh/y08ensa5qajm ... h35Ma?dl=0 Czech localization files. Text files seems to be encoded in cp1250 as I predicted, but English, French version's .fnt files are still being used, which cause the problem. I don't know if Czech language versions MM 6, 7 or 8 have ever been released. If so, get all .fnt files from Czech version MM to replace English, French version's .fnt files.
If no official version exists, that'll be a little complicated. You should:
- Either use my script (which I'll release soon) to generate all .fnt files, but you'll have to find similar fonts in normal font format. There are 12 .fnt in the game file, maybe 5 or 6 are actually used, you'll have to find similar font for each of them.
- Or edit each .fnt files that are currently used, to make the char code map correctly to cp1250's chars, you'll need to export BMP from .fnt files using .fnt editor, edit the BMP and import them back into .fnt.
I've checked https://www.dropbox.com/sh/y08ensa5qajm ... h35Ma?dl=0 Czech localization files. Text files seems to be encoded in cp1250 as I predicted, but English, French version's .fnt files are still being used, which cause the problem. I don't know if Czech language versions MM 6, 7 or 8 have ever been released. If so, get all .fnt files from Czech version MM to replace English, French version's .fnt files.
If no official version exists, that'll be a little complicated. You should:
- Either use my script (which I'll release soon) to generate all .fnt files, but you'll have to find similar fonts in normal font format. There are 12 .fnt in the game file, maybe 5 or 6 are actually used, you'll have to find similar font for each of them.
- Or edit each .fnt files that are currently used, to make the char code map correctly to cp1250's chars, you'll need to export BMP from .fnt files using .fnt editor, edit the BMP and import them back into .fnt.
Last edited by tomchen1989 on 08 Jan 2020, 15:56, edited 1 time in total.
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
This might be beyond my capability, at least for now, because I know virtually nothing about those.tomchen1989 wrote:@Templayer
I've checked https://www.dropbox.com/sh/y08ensa5qajm ... h35Ma?dl=0 Czech localization files. Text files seems to be encoded in cp1250 as I predicted, but English, French version's .fnt files are still being used, which cause the problem. I don't know if Czech language versions MM 6, 7 or 8 have ever been released. If so, get all .fnt files from Czech version MM to replace English, French version's .fnt files.
If no official version exists, that'll be a little complicated. You should:
- Either use my script (which I'll release soon) to generate all .fnt files, but you'll have to find similar fonts in normal font format. There are 12 .fnt in the game file, maybe 5 or 6 are actually used, you'll have to find similar font for each of them.
- Or edit each .fnt files that are currently used, to make the char code map correctly to cp1250's chars, you'll need to export BMP from .fnt files using .fnt editor, edit the BMP and import them back into .fnt.
A side effect of never having to deal with this kind of crap due to a very good software architecture at our company.
I do not think a really official version exists. My uncle has a 600 page Czech manual for MM6, which seems to be official, but the Czech is made through a Czech patch, I think.
This whole font thing is something I might need help with. And I have no way of testing that.
Hmm. I wonder if I can use the console to quickly finish the games and get to the problematic Lose text.
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
- tomchen1989
- Pixie
- Posts: 140
- Joined: 21 Jun 2008
- Location: Europe / China
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Wait a minute, I re-downloaded the Czech localization files and found the .fnt files in it are indeed using cp1250 (Czech, Polish) encoding. I must have downloaded the wrong files or got my folders mixed up or something...
Then it's not a problem of the .fnt files. Your text files where "unreadable text" comes from must have been saved with wrong encoding, likely cp1252, or maybe ISO/IEC_8859-2. You should find those text files, open it with its current encoding, then save it with cp1250.
I actually used the Czech localization files and despite the interface (button images) are not localized, the translated text looks pretty normal to me. Don't know where your problem is.
(btw, here are the links to Czech patches for MM6 MM7 MM8, but you might have already had those.)
Then it's not a problem of the .fnt files. Your text files where "unreadable text" comes from must have been saved with wrong encoding, likely cp1252, or maybe ISO/IEC_8859-2. You should find those text files, open it with its current encoding, then save it with cp1250.
I actually used the Czech localization files and despite the interface (button images) are not localized, the translated text looks pretty normal to me. Don't know where your problem is.
(btw, here are the links to Czech patches for MM6 MM7 MM8, but you might have already had those.)
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
This is exactly what I mean - I cannot jump to many places it was possible to do in vanilla mm6 because jump is weaker.raekuul wrote:Jump is weaker in 7/8 vs 6 to begin with, are you sure you're not just experiencing 8's jump inside 6's map design?Lucius wrote:Jump spell is very weak compared to vanilla games. I cannot jump into many places which could have been reached in vanilla mm6.
So I suggest to increase jump altitude.
Last edited by Lucius on 09 Jan 2020, 13:55, edited 1 time in total.
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Just on Enroth I presume? Because the level design there WAS taking a stronger Jump spell into consideration...Lucius wrote:This is exactly what I mean - I cannot jump to many places it was possible to do in vanilla mm6 because jump is weaker.raekuul wrote:Jump is weaker in 7/8 vs 6 to begin with, are you sure you're not just experiencing 8's jump inside 6's map design?Lucius wrote:Jump spell is very weak compared to vanilla games. I cannot jump into many places which could have been reached in vanilla mm6.
So I suggest to increase jump altitude.
My personal suggestion would be a setting of MM6VanillaJumpSpellHeight.
0 - disabled (i.e. newer formula for jump height used)
1 - enabled (older MM6 formula for jump height used)
2 - enabled only on the MM6 continent
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
-
- Leprechaun
- Posts: 23
- Joined: 22 Dec 2009
- Location: Russia
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
This error happens with UILayout=UI due to patch.UI.txt. Icons UI-BtnRd, UI-BtnRu, UI-BtnZd, UI-BtnZu seems missing so coordinates become negative for BtnZ.Templayer wrote:Weird. Did you do base merge + newest Merge patch + newest GF patch?Kahooli wrote:Issue: Whenever I try to change interface (which is always from MM8, modified, no matter where I start the game), I'm getting CTD with the message "Application error: "ExcepctionElayout exception in module MM8patch.dll at 00058CA3. UI Layout line 60: Negative coordinate: (53, -21.. 106, 31)."
Anyway - the bug has been added to the Bug Tracker.
If anyone need it I patched it a bit to use old mm7 icons for now. I replaced duplicated spell book button with rest button (so it is now in left bottom corner for 6 and 7 UI) and reused spell book icon for quick ref. But overall 6 & 7 UIs require much further work, currently it is complete mishmash.
BTW, "Community" version at https://gitlab.com/templayer/mmmerge/ is crashing due to stripped windows CR in txt tables.
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Yes, Community. Since nobody can edit the first post but Rodril, and he doesn't integrate the community changes very much or very often.Ck-NoSFeRaTU wrote:This error happens with UILayout=UI due to patch.UI.txt. Icons UI-BtnRd, UI-BtnRu, UI-BtnZd, UI-BtnZu seems missing so coordinates become negative for BtnZ.Templayer wrote:Weird. Did you do base merge + newest Merge patch + newest GF patch?Kahooli wrote:Issue: Whenever I try to change interface (which is always from MM8, modified, no matter where I start the game), I'm getting CTD with the message "Application error: "ExcepctionElayout exception in module MM8patch.dll at 00058CA3. UI Layout line 60: Negative coordinate: (53, -21.. 106, 31)."
Anyway - the bug has been added to the Bug Tracker.
If anyone need it I patched it a bit to use old mm7 icons for now. I replaced duplicated spell book button with rest button (so it is now in left bottom corner for 6 and 7 UI) and reused spell book icon for quick ref. But overall 6 & 7 UIs require much further work, currently it is complete mishmash.
BTW, "Community" version at https://gitlab.com/templayer/mmmerge/ is crashing due to stripped windows CR in txt tables.
The CR removal is due to a GitLab bug, actually. https://gitlab.com/gitlab-org/gitlab-foss/issues/44032
I need to reapply this and then repush stuff, I think:
$ git config --global core.autocrlf false
Code: Select all
Markus Koller
Markus Koller @toupeira · 4 months ago
Developer
@phikai Reproduced this on Linux and Git 2.23 with default settings (which seems to be no auto-conversion).
Created some test files at https://gitlab.com/toupeira/playground/tree/line-endings
Edited on GitLab with ACE (single-file editor) and WebIDE (branches line-endings-ace and line-endings-webide)
With both I end up with CRLF converted to LF
WebIDE does detect CRLF/LF correctly and indicate it in the bottom status bar as @pslaughter pointed out
Both editors also send the CRLFs correctly to the backend (visible as \r\n in the browser console), though through different endpoints (ACE uses a form submit, WebIDE uses the commits API)
Pushed the repository to GitHub and edited there, CRLF is correctly preserved (pushed back to GitLab in line-endings-github)
core.autocrlf=input seems to always convert to LF according to https://stackoverflow.com/q/3206843, which would explain the current behaviour in GitLab:
This means that Git will process all text files and make sure that CRLF is replaced with LF when writing that file to the object database. It will not, however, do the reverse. When you read files back out of the object database and write them into the working directory they will still have LFs to denote the end of line. This setting is generally used on Unix/Linux/OS X to prevent CRLFs from getting written into the repository. The idea being that if you pasted code from a web browser and accidentally got CRLFs into one of your files, Git would make sure they were replaced with LFs when you wrote to the object database.
I wonder if the "correct" solution would be to stop using core.autocrlf=input in Gitaly and preserve whatever clients send, but we probably have very good reasons for only storing LFs and this might break all sorts of things (such as diffs). On the other hand, if I understand correctly it's only applied to new commits and if we pull repositories from other sources they might contain CRLFs too.
I tried to use a .gitattributes file but it seems core.autocrlf takes priority over that (the gitattributes manpage somewhat confirms this as well). I'm not sure if Gitaly actually uses it, but I've observed the same behaviour locally so this seems like a no-go.
@smoe1 As for the final line ending: In all three editors including GitHub they're displayed as a trailing blank line (which is indeed what they are), and while GitLab just uses the input as-is (meaning you'll lose it if you're adding a new line without adding a blank one after it), GitHub always appends one even if there wasn't one before, which seems preferable to me. Git itself doesn't seem to have auto-conversion for this one, so we should probably spin this out into its own issue.
Last edited by Templayer on 09 Jan 2020, 21:12, edited 1 time in total.
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
-
- Leprechaun
- Posts: 5
- Joined: 10 Jan 2020
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Hello,
Not sure this is the right topic - I can't find armageddon spell on sale anywhere. Just got my necromant level 7 - Master trainer.
Thanks!
Not sure this is the right topic - I can't find armageddon spell on sale anywhere. Just got my necromant level 7 - Master trainer.
Thanks!
-
- Leprechaun
- Posts: 23
- Joined: 22 Dec 2009
- Location: Russia
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
If your local repo copy is still intact this will fix it. Just don't forget to change modification date of affected files with something like touch command for git to see the changes for new commit.Templayer wrote:I need to reapply this and then repush stuff, I think:
$ git config --global core.autocrlf false
In a long perspective IMHO It'll be better to allow both non-CR and CR tables/scripts on read and use non-CR on write. I personally hate any presense of CR as non-windows user. Especially in repositories. But it will require changes all over the place from scripts to grayface's patches.
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
If you mean in the Merge - some spells are now harder to get. It was weird that anybody could buy a spell that literally literally (hehe) means the End of the World on some shelf in a shop. Identified, i.e. the shop owner knowing what he is selling.justhoneypie wrote:Hello,
Not sure this is the right topic - I can't find armageddon spell on sale anywhere. Just got my necromant level 7 - Master trainer.
Thanks!
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
-
- Leprechaun
- Posts: 5
- Joined: 10 Jan 2020
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Thanks for the heads upTemplayer wrote:If you mean in the Merge - some spells are now harder to get. It was weird that anybody could buy a spell that literally literally (hehe) means the End of the World on some shelf in a shop. Identified, i.e. the shop owner knowing what he is selling.justhoneypie wrote:Hello,
Not sure this is the right topic - I can't find armageddon spell on sale anywhere. Just got my necromant level 7 - Master trainer.
Thanks!
I was wondering if you could...reveal to me where would I be able to find more information about how to obtain those spells and move between mm6-7-8,please?
So far - I love it, especially the higher resolution!
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
From random drops for example. I also remember there being a pre-placed drop in one of the castles (Darkmoor? For Armageddon? In vanilla?) in MM6, if that still applies.justhoneypie wrote:Thanks for the heads upTemplayer wrote:If you mean in the Merge - some spells are now harder to get. It was weird that anybody could buy a spell that literally literally (hehe) means the End of the World on some shelf in a shop. Identified, i.e. the shop owner knowing what he is selling.justhoneypie wrote:Hello,
Not sure this is the right topic - I can't find armageddon spell on sale anywhere. Just got my necromant level 7 - Master trainer.
Thanks!
I was wondering if you could...reveal to me where would I be able to find more information about how to obtain those spells and move between mm6-7-8,please?
So far - I love it, especially the higher resolution!
To move between the continents, check the Tracker in my signature. There is even a spoiler section for that specifically, so that you could jump VERY early (so that for example you could run all the starting locations first, etc.). I might have to rename the Tracker to a Manual at this point.
Last edited by Templayer on 11 Jan 2020, 09:41, edited 1 time in total.
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
-
- Leprechaun
- Posts: 5
- Joined: 10 Jan 2020
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
I think I misunderstand...Did I get the hint that there's stone circle in murmurwoods, but there's no portal in that druid circle?Templayer wrote:From random drops for example. I also remember there being a pre-placed drop in one of the castles (Darkmoor? For Armageddon? In vanilla?) in MM6, if that still applies.justhoneypie wrote:Thanks for the heads upTemplayer wrote: If you mean in the Merge - some spells are now harder to get. It was weird that anybody could buy a spell that literally literally (hehe) means the End of the World on some shelf in a shop. Identified, i.e. the shop owner knowing what he is selling.
I was wondering if you could...reveal to me where would I be able to find more information about how to obtain those spells and move between mm6-7-8,please?
So far - I love it, especially the higher resolution!
To move between the continents, check the Tracker in my signature. There is even a spoiler section for that specifically, so that you could jump VERY early (so that for example you could run all the starting locations first, etc.). I might have to rename the Tracker to a Manual at this point.
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
If I remember correctly - touch it and then cast Town portal. Or something like that.justhoneypie wrote:I think I misunderstand...Did I get the hint that there's stone circle in murmurwoods, but there's no portal in that druid circle?Templayer wrote:From random drops for example. I also remember there being a pre-placed drop in one of the castles (Darkmoor? For Armageddon? In vanilla?) in MM6, if that still applies.justhoneypie wrote:
Thanks for the heads up
I was wondering if you could...reveal to me where would I be able to find more information about how to obtain those spells and move between mm6-7-8,please?
So far - I love it, especially the higher resolution!
To move between the continents, check the Tracker in my signature. There is even a spoiler section for that specifically, so that you could jump VERY early (so that for example you could run all the starting locations first, etc.). I might have to rename the Tracker to a Manual at this point.
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
When you see the message "you feel a high magic presence here", you're good to go. Murmurwoods is frustrating to TP out from before GM Water though due to an overabundance of Basilisks.
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Ck-NoSFeRaTU wrote: BTW, "Community" version at https://gitlab.com/templayer/mmmerge/ is crashing due to stripped windows CR in txt tables.
I've spent half a day trying to fix it, but no matter what I set or do, if the .zip generating is used (i.e. for non-git users, anonymous people just wanting to download the crap), it fuc.ks up the line breaks. Even if I rename the .txt to .table before a commit with files having CRLF, it still screws them up in the repository.Templayer wrote: The CR removal is due to a GitLab bug, actually. https://gitlab.com/gitlab-org/gitlab-foss/issues/44032
I need to reapply this and then repush stuff, I think:
$ git config --global core.autocrlf false
I'll get on it on the weekend.Code: Select all
Markus Koller Markus Koller @toupeira · 4 months ago Developer @phikai Reproduced this on Linux and Git 2.23 with default settings (which seems to be no auto-conversion). Created some test files at https://gitlab.com/toupeira/playground/tree/line-endings Edited on GitLab with ACE (single-file editor) and WebIDE (branches line-endings-ace and line-endings-webide) With both I end up with CRLF converted to LF WebIDE does detect CRLF/LF correctly and indicate it in the bottom status bar as @pslaughter pointed out Both editors also send the CRLFs correctly to the backend (visible as \r\n in the browser console), though through different endpoints (ACE uses a form submit, WebIDE uses the commits API) Pushed the repository to GitHub and edited there, CRLF is correctly preserved (pushed back to GitLab in line-endings-github) core.autocrlf=input seems to always convert to LF according to https://stackoverflow.com/q/3206843, which would explain the current behaviour in GitLab: This means that Git will process all text files and make sure that CRLF is replaced with LF when writing that file to the object database. It will not, however, do the reverse. When you read files back out of the object database and write them into the working directory they will still have LFs to denote the end of line. This setting is generally used on Unix/Linux/OS X to prevent CRLFs from getting written into the repository. The idea being that if you pasted code from a web browser and accidentally got CRLFs into one of your files, Git would make sure they were replaced with LFs when you wrote to the object database. I wonder if the "correct" solution would be to stop using core.autocrlf=input in Gitaly and preserve whatever clients send, but we probably have very good reasons for only storing LFs and this might break all sorts of things (such as diffs). On the other hand, if I understand correctly it's only applied to new commits and if we pull repositories from other sources they might contain CRLFs too. I tried to use a .gitattributes file but it seems core.autocrlf takes priority over that (the gitattributes manpage somewhat confirms this as well). I'm not sure if Gitaly actually uses it, but I've observed the same behaviour locally so this seems like a no-go. @smoe1 As for the final line ending: In all three editors including GitHub they're displayed as a trailing blank line (which is indeed what they are), and while GitLab just uses the input as-is (meaning you'll lose it if you're adding a new line without adding a blank one after it), GitHub always appends one even if there wasn't one before, which seems preferable to me. Git itself doesn't seem to have auto-conversion for this one, so we should probably spin this out into its own issue.
So for now I've fixed it by making a .bat file that fixes those files and needs to be run after extraction. Check the updated installation instructions on GitLab.
I've tested it and the game works, and after browsing through the fixed files I can see no problems...
... if I've screwed up something again, or overlooked something, please report.
MMMerge Tracker (= Info + Paint Tracker + Missing Features + Suggestions):
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
https://goo.gl/ui24Bz
Anybody can view or suggest edits.
Dedicated MMMerge Forum (Bug Tracker included): shorturl.at/lryAF
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Well, I don't know, but zip archive generated from merge request works fine to me.Templayer wrote:I've spent half a day trying to fix it, but no matter what I set or do, if the .zip generating is used (i.e. for non-git users, anonymous people just wanting to download the crap), it fuc.ks up the line breaks. Even if I rename the .txt to .table before a commit with files having CRLF, it still screws them up in the repository.
-
- Leprechaun
- Posts: 23
- Joined: 22 Dec 2009
- Location: Russia
Re: Might and Magic 6, 7, 8 merge based on mm8 engine. [upd. 22.09.2019]
Dunno what's your issue but I just checked and all is working as intended on gitlab part.Templayer wrote:I've spent half a day trying to fix it, but no matter what I set or do, if the .zip generating is used (i.e. for non-git users, anonymous people just wanting to download the crap), it fuc.ks up the line breaks. Even if I rename the .txt to .table before a commit with files having CRLF, it still screws them up in the repository.
Created a merge request if you want it. You can check prior to merging this zip generated by gitlab
Last edited by Ck-NoSFeRaTU on 13 Jan 2020, 06:34, edited 2 times in total.
Who is online
Users browsing this forum: No registered users and 9 guests