Q3map2 x64 source code

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Q3map2 x64 source code

Post by Captaintoottoot »

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?
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: Q3map2 x64 source code

Post by Hipshot »

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
User avatar
Theftbot
Posts: 483
Joined: Thu Oct 08, 2009 4:03 am

Re: Q3map2 x64 source code

Post by Theftbot »

Comes w/GtkRadiant 1.6.4!
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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
User avatar
Hipshot
Posts: 1538
Joined: Sun Jan 20, 2002 8:00 am

Re: Q3map2 x64 source code

Post by Hipshot »

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
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

Captain toot toot forgives hipshot for his shortfalls.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: Q3map2 x64 source code

Post by AEon »

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.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Q3map2 x64 source code

Post by obsidian »

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.
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: Q3map2 x64 source code

Post by AEon »

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.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Q3map2 x64 source code

Post by obsidian »

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).
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: Q3map2 x64 source code

Post by AEon »

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: Select all

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.
User avatar
Bacon
Posts: 1474
Joined: Sat Jul 31, 2004 7:00 am

Re: Q3map2 x64 source code

Post by Bacon »

A little off topic but does anyone know if there's a 64 bit version of bspc.exe?
[b]CAPSLOCK IS ON[/b]
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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?
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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?
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: Q3map2 x64 source code

Post by AEon »

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.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Q3map2 x64 source code

Post by obsidian »

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.
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
User avatar
Bacon
Posts: 1474
Joined: Sat Jul 31, 2004 7:00 am

Re: Q3map2 x64 source code

Post by Bacon »

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.
[b]CAPSLOCK IS ON[/b]
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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'
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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 ==========
User avatar
roughrider
Posts: 354
Joined: Mon Jul 22, 2002 7:00 am

Re: Q3map2 x64 source code

Post by roughrider »

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* Q3 & QL
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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.
User avatar
roughrider
Posts: 354
Joined: Mon Jul 22, 2002 7:00 am

Re: Q3map2 x64 source code

Post by roughrider »

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* Q3 & QL
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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.
User avatar
roughrider
Posts: 354
Joined: Mon Jul 22, 2002 7:00 am

Re: Q3map2 x64 source code

Post by roughrider »

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* Q3 & QL
Captaintoottoot
Posts: 59
Joined: Fri Mar 28, 2014 11:50 pm

Re: Q3map2 x64 source code

Post by Captaintoottoot »

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.
Post Reply