Quake3World.com Forums
     Level Editing & Modeling
        Q3map2 x64 source code


Post new topicReply to topic
Login | Profile | | FAQ | Search | IRC




Print view Previous topic | Next topic 
Topic Starter Topic: Q3map2 x64 source code

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 01-10-2015 01:33 PM           Profile Send private message  E-mail  Edit post Reply with quote


I've spend a couple hours looking around the net for the q3map2 x64 source code. I've found the binaries in a couple places but I I'm looking for the source code. Anyone know where it can be found?




Top
                 

This is not Æon!
This is not Æon!
Joined: 20 Jan 2002
Posts: 2222
PostPosted: 01-10-2015 01:54 PM           Profile Send private message  E-mail  Edit post Reply with quote


I've been looking for the binaries, could you perhaps point to where they are?



_________________
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe


Top
                 

Theftbot
Theftbot
Joined: 07 Oct 2009
Posts: 483
PostPosted: 01-10-2015 02:05 PM           Profile Send private message  E-mail  Edit post Reply with quote


Comes w/GtkRadiant 1.6.4!




Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 01-10-2015 02:10 PM           Profile Send private message  E-mail  Edit post Reply with quote


The x64 exes can be found with netradiant or gtkradiant 1.6.4, in the x64 folder. This link should do it: http://ingar.satgnu.net/gtkradiant/file ... -win64.zip




Top
                 

This is not Æon!
This is not Æon!
Joined: 20 Jan 2002
Posts: 2222
PostPosted: 01-10-2015 02:20 PM           Profile Send private message  E-mail  Edit post Reply with quote


I was looking for a separate download, not included in any app =)

Edit: Sorry for messing up your thread Captaintoottoot



_________________
Q3Map2 2516 -> http://www.zfight.com/misc/files/q3/q3map_2.5.16_win32_x86.zip
Q3Map2 FS_20g -> http://www.zfight.com/misc/files/q3/q3map2_fs_20g.rar
GtkRadiant 140 -> http://www.zfight.com/misc/files/q3/GtkRadiantSetup-1.4.0-Q3RTCWET.exe


Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 01-10-2015 02:27 PM           Profile Send private message  E-mail  Edit post Reply with quote


Captain toot toot forgives hipshot for his shortfalls.




Top
                 

Boink!
Boink!
Joined: 19 Apr 2003
Posts: 4493
PostPosted: 01-10-2015 03:35 PM           Profile Send private message  E-mail  Edit post Reply with quote


Captaintoottoot,
I am surprised that there even is a 64bit version. Since you are looking into the matter, does this mean the 64bit version was able to soften up some of the hardcoded (memory) limitations of the 32bit version?

Just curious, since I keep on running into all sorts of compiler limitations... and maybe the 64bit version could help.




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 01-10-2015 04:35 PM           Profile Send private message  E-mail  Edit post Reply with quote


There is no x64 source code, it's the same. You just recompile it for either x86 or x64. If you have compiling questions, you can try asking on the IRC channel. Latest source code is on Github.


As far as binaries go, GtkRadiant 1.6.4 includes both and is set to use the x64 version by default if you have a compatible system. It does help with some memory limitations (so you probably don't need to use the -lomem switch anymore), but it will not help with engine or other hard-coded compiler limits. Some of the limits have been raised (I don't recall which) in the latest versions.



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Boink!
Boink!
Joined: 19 Apr 2003
Posts: 4493
PostPosted: 01-10-2015 04:48 PM           Profile Send private message  E-mail  Edit post Reply with quote


Indeed under
    GtkRadiant-1.6.4-20131213\x64\q3map2.exe
there is the 64bit version... it is v2.5.17, I was using 2.5.16 (32bit I think).

And seems to be more tolerant about my AEblocks map... wonderful.




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 01-10-2015 04:51 PM           Profile Send private message  E-mail  Edit post Reply with quote


Are you using a batch file or the built-in build options?


Note: Since Q3map2 has fallen into the umbrella of GtkRadiant, I believe all future versions of Q3Map2 will still report 2.5.17 even if it has been updated (basically no one is going to bother to increment the version number of Q3Map2 independently of GtkRadiant, they didn't on the last update).



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Boink!
Boink!
Joined: 19 Apr 2003
Posts: 4493
PostPosted: 01-10-2015 05:01 PM           Profile Send private message  E-mail  Edit post Reply with quote


I am using a very old batch... but from the old 32bit Games\!q3map2 folder I removed all the old .dll files and .exe and copied over the x64\ files from the Radiant 1.6.4 distribution. Seems to work:

Code:
call cd "D:\Games\Quake3\baseq3\maps"
call "D:\Games\!q3map2\q3map2.exe" -v -meta "D:\Games\Quake3\baseq3\maps\%1.map"
call "D:\Games\!q3map2\q3map2.exe" -vis -v -saveprt "D:\Games\Quake3\baseq3\maps\%1.map"
call "D:\Games\!q3map2\q3map2.exe" -light -v -fast -patchshadows -dark -samples 3 -bounce 8 "D:\Games\Quake3\baseq3\maps\%1.map"
call cd "D:\Games\Quake3\Radiant-bat"

I checked with Task Manager, indeed q3map2.exe is running as 64bit app.




Top
                 

visual prowess
visual prowess
Joined: 30 Jul 2004
Posts: 1254
PostPosted: 01-14-2015 01:11 PM           Profile Send private message  E-mail  Edit post Reply with quote


A little off topic but does anyone know if there's a 64 bit version of bspc.exe?



_________________
CAPSLOCK IS ON


Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 01-16-2015 04:00 PM           Profile Send private message  E-mail  Edit post Reply with quote


I know this is going to sound newb of me but how would I compile a 64 bit version of the q3map2 source code using visual studio? Or could someone point me to a step by step link to do that type of thing?




Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 01-18-2015 03:17 PM           Profile Send private message  E-mail  Edit post Reply with quote


So I went to the build menu, configuration manager, added a x64platform and copied over all the settings from the win32, then when I compiled I got the following error:

Release\bspfile_abstract.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

Yet in the config properties, linker/advanced menu target machine is set to x64. Where is the module machine type adjusted?




Top
                 

Boink!
Boink!
Joined: 19 Apr 2003
Posts: 4493
PostPosted: 01-18-2015 03:40 PM           Profile Send private message  E-mail  Edit post Reply with quote


Alas I cannot help you, but there is probably some reason why bspc was not also compiled for 64bit like q3map2 in the GTKradiant 1.6.4 distribution... I do not want to discourage you, though... since it might actually help my own map compiles to have a 64bit version of bspc...

Hope you find a way to solve the problem.




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 01-18-2015 08:03 PM           Profile Send private message  E-mail  Edit post Reply with quote


Ask in the IRC channel, #radiant.

As I understand it, BSPC.exe doesn't get any benefits from running in 64-bit, it's not commonly bottle-necked by memory allocation.



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

visual prowess
visual prowess
Joined: 30 Jul 2004
Posts: 1254
PostPosted: 01-19-2015 02:13 PM           Profile Send private message  E-mail  Edit post Reply with quote


obsidian wrote:
As I understand it, BSPC.exe doesn't get any benefits from running in 64-bit, it's not commonly bottle-necked by memory allocation.


I'm probably misinformed on 64 bit, but from what I understand you can use more than 4 gb of memory? Or is that just the operating system? I asked because some maps I compile AAS on use more than 3 gb or ram and climbs higher, then crashes because there's no more memory. I didn't test on a 64 bit machine though. If the operating is 64 bit, then a 64 bit bspc wouldn't be needed?

As for the AAS using that much memory, if I botclip a bit and cut off parts of some maps they reach 3 gb of memory usage still but finish before it runs out of memory. So I know it's not something wrong with the map crashing it. The bspc i'm using is the one someone released here a long time ago with limits removed.



_________________
CAPSLOCK IS ON


Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 01-20-2015 01:19 PM           Profile Send private message  E-mail  Edit post Reply with quote


So I found this link:
http://stackoverflow.com/questions/3563 ... achine-typ

and I removed the /machine:X86 from the command line as instructed, and it got past that error but then I got a bunch of new errors where a bunch of the code was unrecognized, making me think that that project needs to point to a different set of libraries, like 64 bit libraries or something. But I have no idea what it needs.

Now it doesn't recognize functions like 'g_slist_remove' or 'g_dir_close'. Basic functions. Xmap2 from xreal has a 64 bit solution, but they do lots of other stuff that breaks the compatibility with basic Q3 maps, regardless of what 'game' is set to.

As for BSPC, I've been trying to compile a 64 bit version and I still can't get past the error: fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'




Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 09-23-2022 02:40 PM           Profile Send private message  E-mail  Edit post Reply with quote


I'm resurrecting this topic because I've come back to this project and I'm still stuck at the same problem. I stopped working on the project because of Q3map2's 32bit limitations on compile, once it goes over 3gig it crashes, but this is essential for big complex maps. A 64bit compiler is needed and I need the source code to be able to compile because of the engine changes. People have suggested "oh you just make a 64 bit version with q3map2's code" but that is not true. Something more is required as the errors below indicate:

Can someone please upload a link of a little .sln of q3map2 that compiles a 64bit exe? There is none to be found on the entire internet, I looked.

1>------ Build started: Project: q3map2, Configuration: Release x64 ------
1>Linking...
1>image.obj : error LNK2019: unresolved external symbol png_get_io_ptr referenced in function PNGReadData
1>image.obj : error LNK2019: unresolved external symbol png_destroy_read_struct referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_read_image referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_set_filler referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_set_strip_16 referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_set_expand referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_get_valid referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_get_channels referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_get_IHDR referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_read_info referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_set_read_fn referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_create_info_struct referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_create_read_struct referenced in function LoadPNGBuffer
1>image.obj : error LNK2019: unresolved external symbol png_sig_cmp referenced in function LoadPNGBuffer
1>inout.obj : error LNK2019: unresolved external symbol xmlNodeSetContent referenced in function xml_NodeForVec
1>bsp.obj : error LNK2001: unresolved external symbol xmlNodeSetContent
1>inout.obj : error LNK2019: unresolved external symbol xmlNewNode referenced in function xml_NodeForVec
1>bsp.obj : error LNK2001: unresolved external symbol xmlNewNode
1>leakfile.obj : error LNK2001: unresolved external symbol xmlNewNode
1>inout.obj : error LNK2019: unresolved external symbol xmlBufferFree referenced in function xml_SendNode
1>inout.obj : error LNK2019: unresolved external symbol xmlNodeDump referenced in function xml_SendNode
1>inout.obj : error LNK2019: unresolved external symbol xmlBufferCreate referenced in function xml_SendNode
1>inout.obj : error LNK2019: unresolved external symbol xmlAddChild referenced in function xml_SendNode
1>bsp.obj : error LNK2001: unresolved external symbol xmlAddChild
1>leakfile.obj : error LNK2001: unresolved external symbol xmlAddChild
1>inout.obj : error LNK2019: unresolved external symbol xmlSetProp referenced in function FPrintf
1>bsp.obj : error LNK2001: unresolved external symbol xmlSetProp
1>inout.obj : error LNK2019: unresolved external symbol g_free referenced in function FPrintf
1>vfs.obj : error LNK2001: unresolved external symbol g_free
1>inout.obj : error LNK2019: unresolved external symbol g_locale_to_utf8 referenced in function FPrintf
1>inout.obj : error LNK2019: unresolved external symbol xmlNewDocRawNode referenced in function FPrintf
1>inout.obj : error LNK2019: unresolved external symbol xmlNewDoc referenced in function FPrintf
1>vfs.obj : error LNK2019: unresolved external symbol g_strdown referenced in function vfsInitPakFile
1>vfs.obj : error LNK2019: unresolved external symbol g_slist_append referenced in function vfsInitPakFile
1>vfs.obj : error LNK2019: unresolved external symbol g_dir_close referenced in function vfsInitDirectory
1>vfs.obj : error LNK2019: unresolved external symbol g_strdup referenced in function vfsInitDirectory
1>vfs.obj : error LNK2019: unresolved external symbol g_dir_read_name_utf8 referenced in function vfsInitDirectory
1>vfs.obj : error LNK2019: unresolved external symbol g_dir_open_utf8 referenced in function vfsInitDirectory
1>vfs.obj : error LNK2019: unresolved external symbol g_slist_remove referenced in function vfsShutdown
1>.\Release/q3map2.exe : fatal error LNK1120: 32 unresolved externals
1>Build log was saved at "file://d:\Q3\tools\q3map2\source\qfmap2\qfmap2build\tools\quake3\q3map2\x64\Release\BuildLog.htm"
1>q3map2 - 40 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 6 up-to-date, 0 skipped ==========




Top
                 

Swift and Deadly
Swift and Deadly
Joined: 21 Jul 2002
Posts: 1679
PostPosted: 09-29-2022 04:17 AM           Profile Send private message  E-mail  Edit post Reply with quote


from what I saw in earlier posts of this topic, I noticed you said you were using vs originally and from the looks of the build output you have shown directly above, it looks like vs. Do you have all the source for this? I have a follow up question if you do :)



_________________
Team *A51* QL


Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 09-29-2022 06:40 AM           Profile Send private message  E-mail  Edit post Reply with quote


The code was q3map2 original source code. I can compile a 32 bit exe without any issues but I just can't get it to compile a 64 bit version. That's why I was asking if someone could post a file of the q3map2 source with a solution file that will compile a 64 bit version.




Top
                 

Swift and Deadly
Swift and Deadly
Joined: 21 Jul 2002
Posts: 1679
PostPosted: 09-30-2022 11:22 AM           Profile Send private message  E-mail  Edit post Reply with quote


It would be alot of work, possibly, but why not edit the 32bit source code and change the 'int' and 'long' and some of the other essentials and port it to 64bit?



_________________
Team *A51* QL


Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 09-30-2022 07:46 PM           Profile Send private message  E-mail  Edit post Reply with quote


Many people have said "oh you just make a 64 bit build, its easy" but that isn't true. There is a 64bit q3map2 out there, but whoever compiled it never released the source code for it, which is why I was asking for the 64bit q3map2 solution. There are also a many other 64bit q3map2s for things like jedi outcast, like wzmap or xreal, xmap2, etc, but they break compatibility. During compile, some of them just close on illumunaterawmap at "1..." The other issue with reinventing the wheel, a 64 bit build, is the compiler just reports unresolved errors and doesn't really tell me what's wrong.




Top
                 

Swift and Deadly
Swift and Deadly
Joined: 21 Jul 2002
Posts: 1679
PostPosted: 10-03-2022 04:05 PM           Profile Send private message  E-mail  Edit post Reply with quote


Gotcha. Well, I will say that currently, I have not run into any problems using the 64bit version of q3map2.

Edit: also have to say that I am using 64bit q3map2 for quake3. Also, what are you doing that is causing 64bit q3map2 to not work for you when compiling a quake3 map?



_________________
Team *A51* QL


Top
                 

Grunt
Grunt
Joined: 28 Mar 2014
Posts: 59
PostPosted: 10-04-2022 09:00 AM           Profile Send private message  E-mail  Edit post Reply with quote


The mod I've built uses much higher values on many things like number of surfaces, etc. Which is why I need the 64bit solution. If it wasn't for that I would just use a regular q3map2 64bit exe. The project is completely halted until I can get past this.




Top
                 

Gibblet
Gibblet
Joined: 16 Dec 2020
Posts: 18
PostPosted: 11-24-2022 01:38 PM           Profile Send private message  E-mail  Edit post Reply with quote


Not sure if this helps at all, but netradiant custom includes an advanced version of q3map2: https://github.com/Garux/netradiant-custom



_________________

id Tech 3 Mapping Trello


Top
                 
Quake3World.com | Forum Index | Level Editing & Modeling


Post new topic Reply to topic


cron
Quake3World.com
© ZeniMax. Zenimax, QUAKE III ARENA, Id Software and associated trademarks are trademarks of the ZeniMax group of companies. All rights reserved.
This is an unofficial fan website without any affiliation with or endorsement by ZeniMax.
All views and opinions expressed are those of the author.