ShikyoKira / Project-New-Reign---Nemesis-Main

Animation Behavior Patching Tool
GNU General Public License v3.0
462 stars 183 forks source link

Linux #416

Open alexzk1 opened 3 years ago

alexzk1 commented 3 years ago

In short - cannot compile on linux despite everything there is cross. In long...apologize if I heard some feelings:

  1. cmake files are +/- easy to fix (you can check my fork, but I don't think I will finish it, thats why this article here).
  2. some really OLD library havok, I would suggest to revise headers I changed. They use size_t in operator new overloads as 32 bits fixed. That is potential rabbit hole very deep on 64 bit build.
  3. Strings. Argh! I want scream, scream and scream again. Why?! You have Qt. You have boost. And you still chose to use std::filesytem translated into wstring. Hello! This only for windows! On any other system except windows w_char is 32 bits! And filesystem is UTF-8, which fits into std::string.
  4. Strings again. Regex. You have qt!
  5. All problems with FS/strings ARE SOLVED by Qt by using QString/QFile/QDir/QRexExp.
  6. L"\r\n" ? Really?

So after couple hours I gave up fixing all that windows only stuff actually.

P.S. Python? bats? ....I would use Lua. Simple embedded extra 32kb in binary size. No deps. 3x more powerful then JS. Everybody played Wow - all plugins are Lua based there.

Continous commented 3 years ago

I want to add that Nemesis currently does not work under Wine. The Wine trace is as follows;

esync: up and running. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely Setting breakpad minidump AppID = 489830 Steam_SetMinidumpSteamID: Caching Steam ID: 76561198022464117 [API loaded no] wine: Read access denied for device L"\??\L:\", FS volume label and serial are not available. [376:380:0727/180527.999:ERROR:dxva_video_decode_accelerator_win.cc(1399)] DXVAVDA fatal error: could not LoadLibrary: msmpeg2vdec.dll: Module not found. (0x7E) [376:380:0727/180528.451:ERROR:network_change_notifier_win.cc(142)] WSALookupServiceBegin failed with: 8 Converting '.\staggerbehavior.xml' ... Converting '.\sprintbehavior.xml' ... Converting '.\shoutmounted_behavior.xml' ... wine: Unhandled page fault on write access to 5000EC05 at address 7BC2A885 (thread 0394), starting debugger... Converting '.\magic_readied_direction_behavior.xml' ...

After this message it hangs and I am forced to terminate it. Sometimes however, it instead fails as follows;

Converting '.\staggerbehavior.xml' ... Converting '.\sprintbehavior.xml' ... Converting '.\shoutmounted_behavior.xml' ... wine: Unhandled page fault on read access to 799F32F8 at address 67082200 (thread 0458), starting debugger... Unhandled exception: page fault on read access to 0x799f32f8 in 32-bit code (0x67082200). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:67082200 ESP:00a5b16c EBP:799f32f8 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00ec00f8 EBX:00a5ca3c ECX:7b7734e6 EDX:7b7734e6 ESI:00000002 EDI:00a5b5d4 Stack dump: 0x00a5b16c: 00000000 00a5ba00 00000000 1431d188 0x00a5b17c: 7b7734e6 00a5b5d4 00000001 799f32f8 0x00a5b18c: 67089c22 799f32f6 00ec00f8 00000000 0x00a5b19c: 00a5ca3c 00000002 00a5b5d4 00000001 0x00a5b1ac: 1ee3f9fd 00a5cc78 00000002 00ecf4b0 0x00a5b1bc: 7bc1f03c 00ec0094 00000030 00a5b248 Backtrace: =>0 0x67082200 EntryPoint+0xffffffff() in qt5core (0x799f32f8) 0x67082200 EntryPoint+0xffffffff in qt5core: movzwl 0x0(%ebp),%eax

If you would like more information, or a longer log, please let me know. These are easily reproducible.

Continous commented 3 years ago

Nemesis was able to finish properly and fully when the overwrite folder was flushed. This may be an issue with Nemesis not being able to properly overwrite files.