Menu

Welcome, Guest. Please login or register.
Did you miss your activation email?
March 21, 2019, 12:46:55 am

Login with username, password and session length

Author Topic: [TOOL] [MPQ] FuckItUp  (Read 20698 times)

Epicurus

  • Registred Member
  • Race Changer
  • *****
  • Posts: 33
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #60 on: March 04, 2014, 10:20:55 pm »
Hi schlumpf,

It would seem that Stormlib is not the cause of this problem. I'm not the savviest window's guy anyway, I'm more tailored towards working in a Linux environment.  Of course, working on Windows has it's benefits, given that I can do all of my model editing, create the MPQs and remove the listfile all from one operating system.

I will switch over to Linux and attempt to compile the source there. I'll report back once I'm done.

Thanks,
Epicurus
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2954
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #61 on: March 04, 2014, 10:35:12 pm »
I never tested it on anything but OS X.
The step failing for you is removing the list file. Sadly, StormLib is bad in matters of error handling (at least in the packaged version). You may want to replace the printf("failed"); with
Code: [Select]
printf ("Failed: %dn", GetLastError());and then look in Stormlib.h, what your error is.

When hacking this together I really didn't care about error handling, sorry.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Epicurus

  • Registred Member
  • Race Changer
  • *****
  • Posts: 33
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #62 on: March 04, 2014, 10:47:45 pm »
No worries, schlumpf. It's a tool that was intended for personal use, and later shared with the public. It would be foolish of anyone to expect debugging capabilities. Though, you did supply the source which I am grateful for.

The source does not compile on a Linux platform, however. Here is the dump:

Code: [Select]
Linking CXX executable FuckItUp
CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Compress_ZLIB(char*, int*, char*, int, int*, int)':
SCompression.cpp:(.text+0x220): undefined reference to `deflateInit_'
SCompression.cpp:(.text+0x23f): undefined reference to `deflate'
SCompression.cpp:(.text+0x269): undefined reference to `deflateEnd'
CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Decompress_ZLIB(char*, int*, char*, int)':
SCompression.cpp:(.text+0x2f6): undefined reference to `inflateInit_'
SCompression.cpp:(.text+0x315): undefined reference to `inflate'
SCompression.cpp:(.text+0x333): undefined reference to `inflateEnd'
CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Compress_BZIP2(char*, int*, char*, int, int*, int)':
SCompression.cpp:(.text+0x6c4): undefined reference to `BZ2_bzCompressInit'
SCompression.cpp:(.text+0x710): undefined reference to `BZ2_bzCompress'
SCompression.cpp:(.text+0x72c): undefined reference to `BZ2_bzCompressEnd'
CMakeFiles/FuckItUp.dir/src/SCompression.cpp.o: In function `Decompress_BZIP2(char*, int*, char*, int)':
SCompression.cpp:(.text+0x783): undefined reference to `BZ2_bzDecompressInit'
SCompression.cpp:(.text+0x7b9): undefined reference to `BZ2_bzDecompress'
SCompression.cpp:(.text+0x7dc): undefined reference to `BZ2_bzDecompressEnd'
CMakeFiles/FuckItUp.dir/src/SFileAddFile.cpp.o: In function `WriteDataToMpqFile(TMPQArchive*, TMPQFile*, unsigned char*, unsigned int, unsigned int)':
SFileAddFile.cpp:(.text+0x28f): undefined reference to `crc32'
SFileAddFile.cpp:(.text+0x3c0): undefined reference to `adler32'
CMakeFiles/FuckItUp.dir/src/SFileAddFile.cpp.o: In function `SFileAddFile_Init(TMPQArchive*, char const*, unsigned long long, unsigned int, unsigned int, unsigned int, TMPQFile**)':
SFileAddFile.cpp:(.text+0xb5f): undefined reference to `crc32'
CMakeFiles/FuckItUp.dir/src/SFileAttributes.cpp.o: In function `SFileUpdateFileAttributes(void*, char const*)':
SFileAttributes.cpp:(.text+0x975): undefined reference to `crc32'
SFileAttributes.cpp:(.text+0x9d3): undefined reference to `crc32'
CMakeFiles/FuckItUp.dir/src/SFileReadFile.cpp.o: In function `ReadMpqSectors(TMPQFile*, unsigned char*, unsigned int, unsigned int, unsigned int*)':
SFileReadFile.cpp:(.text+0x453): undefined reference to `adler32'
collect2: ld returned 1 exit status
make[2]: *** [FuckItUp] Error 1
make[1]: *** [CMakeFiles/FuckItUp.dir/all] Error 2
make: *** [all] Error 2

I'll switch back to windows and attempt debugging in the manner you've suggested.

Thanks again,
Epicurus
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2954
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #63 on: March 05, 2014, 12:32:47 am »
That's just missing libz / libbz2.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Epicurus

  • Registred Member
  • Race Changer
  • *****
  • Posts: 33
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #64 on: March 05, 2014, 02:18:08 am »
Hi schlumpf,

There were several issues here. Since the program is copyrighted, perhaps you will upload a new version based on these simple fixes, perhaps you wont given that the program was intended for OSX. Nevertheless, I will post the solutions I found for others who may experience them.

First issue I had was an outdated version of stormlib. My first attempt at updating stormlib failed because I found a fork rather than the master repository.

Official Stormlib repository: https://github.com/stormlib/StormLib

I updated the stormlib files in your source directory which led to the next issue.

With the latest release of stormlib, the function SFileCompactArchive takes 3 arguments, the third being a boolean. This is easily resolved by supplying the third argument.

As for compiling on Linux, I had to link z and zb2 within CMake and it was able to compile. Thanks for pointing me in the right direction.

Epicurus
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2954
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #65 on: March 05, 2014, 09:34:04 am »
You may just post your modified version here.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Magnus

  • Moderators
  • Wiki Incarnate
  • *****
  • Posts: 147
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #66 on: May 05, 2015, 12:01:13 pm »
I have a windows version and realises that it doesn't work well with the optional 2nd parameter.

Works well:
FuckItUp.exe patch-6.MPQ

Doesn't work:
FuckItUp.exe patch-6.MPQ patch-6.new.MPQ

Error message is:
Failed.

It creates a file with about 99% of the input filesize. But the file is corrupt.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

YourArthas

  • Registred Member
  • GM Isle Explorer
  • *****
  • Posts: 18
    • View Profile
Re: [TOOL] [MPQ] FuckItUp
« Reply #67 on: May 02, 2018, 02:39:58 pm »
Hello can someone make me a .exe of this , I'll use it for our warcraft 3 hd mod release , Armies Of Azeorth