Maybe, but he's literally just tried and seen it so the latest fixes haven't worked for false positives.
It's not me epinter, but one of my fellow mods. He's getting it with Windows Defender. Fine for him with virustotal.
Hey o/
It's me
Last release 10hours ago
Last edit 8 hours ago
You did not update the release, it seems.
Also, I checked the source and there are issues and lots of warnings using MSVS2019 because you're playing with the memory manually without checks and safety, although it's fine this is hard to read and can be source of issues.
It's working fine though so let's hope it stays like this.
What changed btw ? From Ragnarok to Eternal Embers ? I'm curious.
Wagi
diff --git a/MAPDecomp.cpp b/MAPDecomp.cpp
index e1ee25d..cd2097d 100644
--- a/MAPDecomp.cpp
+++ b/MAPDecomp.cpp
@@ -10,6 +10,8 @@
#define SHR_SIZE 2 /*sizeof(unsigned short)*/
#define FLT_SIZE 4 /*sizeof(float)*/
#define PTR_SIZE sizeof(void*)
+#define FILENAMES_BUFFER_SIZE 65535
+#define FILENAME_SIZE 256
void mkdirtofile(char* path) {
size_t length = strlen(path);
@@ -67,7 +69,13 @@ void main(int argc, char **argv) {
fwrite(sec, INT_SIZE, 1, wrlFile);
bool outOfOrder = true;
- char fileNames[1024][256];
+
+ char ** fileNames = (char **) malloc(FILENAMES_BUFFER_SIZE * sizeof(char*));
+
+ for (int i = 0; i < FILENAMES_BUFFER_SIZE; i++) {
+ fileNames[i] = (char *) malloc(FILENAME_SIZE);
+ }
+
eofdetect = fgetc(mapFile);
unsigned char* buffer;
while (!feof(mapFile) && !ferror(mapFile)) {
@@ -318,12 +326,12 @@ void main(int argc, char **argv) {
}
//.sd
else if (0x18 == sec[0]) {
- sprintf_s(fileNames[1023], 255, "%s", argv[2]);
- *(fileNames[1023]+strlen(fileNames[1023])-3) = 's';
- *(fileNames[1023]+strlen(fileNames[1023])-2) = 'd';
- *(fileNames[1023]+strlen(fileNames[1023])-1) = 0;
+ sprintf_s(fileNames[FILENAMES_BUFFER_SIZE-1], 255, "%s", argv[2]);
+ *(fileNames[FILENAMES_BUFFER_SIZE-1]+strlen(fileNames[FILENAMES_BUFFER_SIZE-1])-3) = 's';
+ *(fileNames[FILENAMES_BUFFER_SIZE-1]+strlen(fileNames[FILENAMES_BUFFER_SIZE-1])-2) = 'd';
+ *(fileNames[FILENAMES_BUFFER_SIZE-1]+strlen(fileNames[FILENAMES_BUFFER_SIZE-1])-1) = 0;
- writeBuffer(buffer, CHR_SIZE, sec[1], fileNames[1023], "wb");
+ writeBuffer(buffer, CHR_SIZE, sec[1], fileNames[FILENAMES_BUFFER_SIZE-1], "wb");
}
//Data chunks. Output by other sections.
@@ -341,6 +349,12 @@ void main(int argc, char **argv) {
eofdetect = fgetc(mapFile);
}
+
+ for (int i = 0; i < FILENAMES_BUFFER_SIZE; i++) {
+ free(fileNames[i]);
+ }
+
+
//close the world. open the nExt.
fflush(wrlFile);
fclose(wrlFile);
Hello, I have a problem with unpacking the map. When I decompiled the map, the information about the zones that the player cannot enter (the "Passable" brush on the level editor panel) is not imported.
Screen #1 (https://i.ibb.co/Zd46QKh/2021-12-09-22-51-01.jpg)
P.S. I applied this zone myself, it was not in the decompiled map
For example, in the original, it is not possible to go into the river. After decompiled a level with river, do a Rebuld patch and compile the map, I can freely move into these zones.
Screen: #2 (https://i.ibb.co/Jz3bXdH/2021-12-09-18-46-47.jpg), #3 (https://i.ibb.co/N3DkG9F/2021-12-09-18-46-49.jpg)
Can you say something about this situation?
P.S.2. Sory for my bad English.
@epinter
A little offtopic - is it possible for the old TQCam Tool to be updated for EE? It was a total blast to play with, but it got broken after Atlantis. Koderkrazy's cheat engine table can still edit the camera angle, but it isn't interactive as the old tool:https://www.youtube.com/watch?v=qe4wjhcJ7qY&t
Hello, I have a problem with unpacking the map. When I decompiled the map, the information about the zones that the player cannot enter (the "Passable" brush on the level editor panel) is not imported.
Screen #1 (https://i.ibb.co/Zd46QKh/2021-12-09-22-51-01.jpg)
P.S. I applied this zone myself, it was not in the decompiled map
For example, in the original, it is not possible to go into the river. After decompiled a level with river, do a Rebuld patch and compile the map, I can freely move into these zones.
Screen: #2 (https://i.ibb.co/Jz3bXdH/2021-12-09-18-46-47.jpg), #3 (https://i.ibb.co/N3DkG9F/2021-12-09-18-46-49.jpg)
Can you say something about this situation?
P.S.2. Sory for my bad English.
This appears because you rebuild the pathing in that area, you need to paint againI understand it. It would be nice if the author could import these zones, if it is possible in principle.
I think it is possible if there's a source code, and the time available. :)Thank you for your answer. If you ever have the time or desire to do it, please give it a try. I'll think of some way to repay you, that's a word given :)
To rewrite a tool like TQCam from scratch is hard, and in my opinion it's a tool that makes the game ugly, you see everything you shouldn't. The game itself have a much better camera than TQIT, THQ Nordic have done an amazing job.
@Bumbleguppy I don't know if you have figured it out since then.
Basically here there are two releases :
https://github.com/epinter/tq-mapdecompiler/releases
Use the link at the bottom (v0.1), not the top link v0.1.1 which is bugged. Download mapdecompiler.7z from v0.1 on December 5th, 2021.
https://imgur.com/B5oHpCF
I had a dll error (ucrtbased.dll) solved with
https://fr.dll-files.com/ucrtbased.dll.html
Put 32 bits version in C:\Windows\System32 and/or 64 bits version in C:\Windows\SysWOW64
The correct command is: mapdecompiler.exe world01.map world01.wrl
Writing ".exe" seems necessary.