Quake Live Steam aas

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Quake Live Steam aas

Post by phantazm11 »

Hi all,

I can't seem to get bots to work for a custom map in Quake Live. Bots fail to initialize. The aas file from the Quake 3 version of my map, which was generated from GTKRadiant 1.4, doesn't want to work in Quake Live, and when I try generating a new aas using the bspc.exe from GTKRadiant 1.6.4, I get errors (WARNING: no entities inside **** leaked **** or "Error:Tried Parent")

I know that the map doesn't leak. I remember getting the "Error:Tried Parent" warning when I was building the map. I switched back to the bspc that came with 1.4 and it fixed it for Quake 3.

Anybody have any ideas?
V1979
Posts: 58
Joined: Tue Dec 23, 2014 7:00 am

Re: Quake Live Steam aas

Post by V1979 »

Is your new *.bsp format v47?
Do you use the latest version of bspc.exe?
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

Yes. I compiled the map with the q3map2 from 1.6.4. I placed the bsp in a .pk3 and loaded it into QL just fine.

The bspc is from 1.6.4 also and it errors every time. When I use the bspc from 1.4 or 1.5 it compiles a bsp from 1.4 or 1.5 and creates an aas without errors, but it won't initialize bots in QL
User avatar
Hipshot
Posts: 1533
Joined: Sun Jan 20, 2002 8:00 am

Re: Quake Live Steam aas

Post by Hipshot »

I was actually just about to write in another thread how I did to solve the issue, it took me some time to get it working, but in the end it was really easy. I as well as you noted that the newer bspc won't spit out any aas on any map just like that.


First I fix the old aas like this, "q3map2.exe -fixaas rustgrad.bsp", I'm doing this with the newer compiler for QL, not the old one I compiled the level with from the start

Now, what happens is that the aas becomes corrupt, so open it with any hex editor and change the first set of numbers from 00 00 00 00 to 45 41 41 53

Then, run the newer bspc with these commands, "bspc.exe -optimize -reach rustgrad.aas"

I should also say that the aas for rustgrad and also solitude (which I'm working on porting right now), was compiled like this bspc.exe -bsp2aas m8/rustgrad.bsp -forcesidesvisible
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
V1979
Posts: 58
Joined: Tue Dec 23, 2014 7:00 am

Re: Quake Live Steam aas

Post by V1979 »

Hipshot, could you describe the whole procedure step by step?
User avatar
Hipshot
Posts: 1533
Joined: Sun Jan 20, 2002 8:00 am

Re: Quake Live Steam aas

Post by Hipshot »

Ok, let's assume a few things first — that I can't compile the AAS using the new bspc version (because parental errors and too lazy to make a bot_hull level etc) AND that I won't compile the actual level using the newer version of Q3map2 (because that version is incompatible with my terrain blend I use)
  • 1) I compile x.map using the old Q3map2_fs_20g (supports model vertex coloring) and I use the old bspc (the one from 2001) with the line bspc.exe -bsp2aas x.bsp -forcesidesvisible to create x.aas from x.bsp
    • Step #1 could have been made 10 years ago or whatever, it's just the standard way of making the level work in Q3 with bots, this version won't play in QL because the BSP is at a different version. The next part is about the actual conversion.
  • 2) Convert x.bsp using the new Q3map2 (2.5.17 the one from 2013 (the one from GTK 1.6 in the x64 folder)) using the line q3map2.exe -game quake3 -convert -format quakelive x.bsp
    • Now x.bsp works in QL, but the AAS won't work because x.bsp has been changed after x.aas was created, thus making it incompatible.
  • 3) Run Q3map2 again, but with this line q3map2.exe -fixaas x.bsp
    • So I have a fixed x.aas for x.bsp but it's also corrupted in the process
  • 4) Open x.aas with UltraEdit (any hex editor will do I guess), I change the first 00 00 00 00 to 45 41 41 53, save the file.
    • x.aas is now fixed, but it's still going to be out of date
  • 5) To update x.aas and making it up to date, run the new bspc (the one from 2013, just like q3map2) with this line bspc.exe -optimize -reach x.aas

Now you should have a level with AAS that works in QL with no issues. Step 5 might be unnecessary if you already did a optimize and reach before, I haven't tried that though, I just thought it would be a good thing to optimize the file using the newer bspc.
Last edited by AEon on Tue Nov 10, 2015 6:49 am, edited 3 times in total.
Reason: AEonizing fun edited for Hitshot... more colour updates.
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
SpaKK
Posts: 4
Joined: Sat Nov 07, 2015 6:34 pm

Re: Quake Live Steam aas

Post by SpaKK »

I wish this was fully resolved, but it isn't.
Firstly - no criticism of Hipshot...

This is an example of the problem.
If I take rustgrad.bsp (v47) then I can try creating an .aas using two versions of bspc.exe (2.1h)
If I use the one bundled with Radiant 1.6.4, file length 422400, then I get a 'tried parent' failure.
If I use the one bundled with Radiant 1.6.3, file length 389120, it works. No need to use fixaas.
Bots play fine - reasonable map navigation.

So, to fixaas or not to fixaas if the map isn't really complex ?

But there's a further problem. If a map is large/complex, for example "overlord", then even the 1.6.3 bsp.exe fails when the number of visible brush sides exceeds 65536.

Looking at TTimo's bspc GitHub repository https://github.com/TTimo/bspc
in "q3files.h":

Code: Select all

#define	Q3_MAX_MAP_MODELS		0x400
#define	Q3_MAX_MAP_BRUSHES		0x8000
#define	Q3_MAX_MAP_ENTITIES	0x800
#define	Q3_MAX_MAP_ENTSTRING	0x10000
#define	Q3_MAX_MAP_SHADERS		0x400

#define	Q3_MAX_MAP_AREAS		0x100	// MAX_MAP_AREA_BYTES in q_shared must match!
#define	Q3_MAX_MAP_FOGS		0x100
#define	Q3_MAX_MAP_PLANES		0x10000
#define	Q3_MAX_MAP_NODES		0x10000
#define	Q3_MAX_MAP_BRUSHSIDES	0x10000
#define	Q3_MAX_MAP_LEAFS		0x10000
#define	Q3_MAX_MAP_LEAFFACES	0x10000
#define	Q3_MAX_MAP_LEAFBRUSHES	0x10000
#define	Q3_MAX_MAP_PORTALS		0x10000
#define	Q3_MAX_MAP_LIGHTING	0x400000
#define	Q3_MAX_MAP_LIGHTGRID	0x400000
#define	Q3_MAX_MAP_VISIBILITY	0x200000

#define	Q3_MAX_MAP_DRAW_SURFS	0x20000
#define	Q3_MAX_MAP_DRAW_VERTS	0x80000
#define	Q3_MAX_MAP_DRAW_INDEXES	0x80000
This seems to confirm the failure.

These limits for bspc are too restrictive, so the question arises: could someone update the bspc build and release a completely effective bspc binary ?

Id, of course, must already have one :smirk:
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

Thanks a lot for the write-up Hipshot.

I can't get bspc to recognize my aas file to do the bspc -optimize -reach X.aas command for some reason after the hex edit. I even moved bspc to the baseq3/maps folder. It says something like "mapname.aas" is not a valid aas file.

I can't believe this process has become so damn convoluted. I'm not even sure I feel like mapping for this game anymore.
User avatar
Hipshot
Posts: 1533
Joined: Sun Jan 20, 2002 8:00 am

Re: Quake Live Steam aas

Post by Hipshot »

Did you do the hex 00 thing?

@SpaKK, thanks for the info! So you say that if someone could just recompile bspc and change things up a bit some of these issues would be solved?

Agree with you Phant, it's a damn mess, annoying to say the least.
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
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

Yeah, I used hxd to edit and save the new aas. I did it a couple of different times to make sure I was't doing something wrong.

My batch file looks like this: bspc -optimize -reach phantqsdm6.aas and is in the maps folder with the map, the bsp and the aas file and bspc.exe. All map related files are named the same.
User avatar
Hipshot
Posts: 1533
Joined: Sun Jan 20, 2002 8:00 am

Re: Quake Live Steam aas

Post by Hipshot »

Hmm, strange, the only thing I might do different is that I moved my bsp and aas to the x64 folder in GTk1.6, away from any other Q3 things, I didn't want the files near the others to avoid confusion.

Like this http://i.imgur.com/g0983Nw.png
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
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

I'll definitely try that later.

Thanks you for the help Hipshot. You are the best, man.
SpaKK
Posts: 4
Joined: Sat Nov 07, 2015 6:34 pm

Re: Quake Live Steam aas

Post by SpaKK »

So you say that if someone could just recompile bspc and change things up a bit some of these issues would be solved?
I think so - remember TTimo produced bspc 2.1i for Sock to handle the complexity of P.O.M. map, although 2.1i can't handle version 47.
Compiling a build from GitHub isn't black magic, but it needs research - some people here could do it.
TBH, I'm not even sure that Quake Live support in Q3Map2 and bspc isn't some kind of hack - a version 47 .bsp has an advertisement 'lump' added, but what other differences there are, I don't know.
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

Hmm, that didn't seem to work. I even started from scratch, using the .bsp and .aas from my competition map. The aas file was definitely updated as the date had changed after I ran the -fixaas command, and I even downloaded UltraEdit to edit the file in case it was my Hex editor causing the fault.

Here is the error log that bspc generated:

Code: Select all

BSPC version 2.1h, Aug 24 2013 23:20:03
optimize = true
reach: phantq3dm6_mc.bsp to phantq3dm6_mc.aas
error loading aas file phantq3dm6_mc.aas
I'm going to give up on this for the time being I think. Might just upload a version of the map without bot support for now, dunno.

SpaKK wrote: I'm not even sure that Quake Live support in Q3Map2 and bspc isn't some kind of hack - a version 47 .bsp has an advertisement 'lump' added, but what other differences there are, I don't know.
I'm thinking you might be right. Which sucks since advertising isn't even supported anymore.
User avatar
Hipshot
Posts: 1533
Joined: Sun Jan 20, 2002 8:00 am

Re: Quake Live Steam aas

Post by Hipshot »

Phant, can you post a level you want in QL?
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
Pat Howard
Posts: 494
Joined: Tue Mar 31, 2009 11:14 am

Re: Quake Live Steam aas

Post by Pat Howard »

phantazm11 wrote: I can't believe this process has become so damn convoluted. I'm not even sure I feel like mapping for this game anymore.
Hipshot wrote:Agree with you Phant, it's a damn mess, annoying to say the least.
i feel the same way :(
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

Hipshot: Here is a link to the .pk3 if that helps, though you certainly don't have to mess with this any further if you don't want to. Your help thus far has been awesome enough :)

http://pwww.phantazm11.com/content/down ... dm6_mc.zip

I must just be doing something wrong with the batch file or something. I can do a -bsp2aas with it (thought of course it fails with this version of bspc), but I can't get it to recognize the aas file to redo the -reach command. Probably been staring at it too long this weekend :)
User avatar
Hipshot
Posts: 1533
Joined: Sun Jan 20, 2002 8:00 am

Re: Quake Live Steam aas

Post by Hipshot »

This works for me with bots in Quake Live.

* Link removed *
Last edited by Hipshot on Tue Nov 10, 2015 8:56 pm, edited 1 time in total.
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
phantazm11
Posts: 362
Joined: Tue Jan 31, 2006 12:03 am

Re: Quake Live Steam aas

Post by phantazm11 »

Oh, that is awesome. Thank you for doing this Hipshot.

It is going to drive me crazy until I figure out what the heck I did wrong. It is probably some stupid little thing I missed.

Thanks again Hipshot. Until they get this all sorted out, the tutorial you posted earlier will come in very handy around the community!
Gustavo6046
Posts: 125
Joined: Wed May 13, 2015 9:04 pm

Re: Quake Live Steam aas

Post by Gustavo6046 »

Strange is that it all works for me, I just use GtkRadiant inbuilt AAS and compiler and no errors I think...
Though probably that's just because I have retail Quake 3 instead of QL.
Anyway, instead of HexEdit I would recommend XVI32, it's simple and still advanced. (Just recommendation! Don't need to...)
[color=#BF4000]Who cares with me?[/color] [color=#BF0080]Everyone ragequit![/color]
PaN61
Posts: 58
Joined: Mon Apr 19, 2010 7:45 am

Re: Quake Live Steam aas

Post by PaN61 »

Gustavo6046 wrote:Strange is that it all works for me, I just use GtkRadiant inbuilt AAS and compiler and no errors I think...
Though probably that's just because I have retail Quake 3 instead of QL.
Anyway, instead of HexEdit I would recommend XVI32, it's simple and still advanced. (Just recommendation! Don't need to...)
Well of course the AAS compiler (bspc) for GTK Radiant will work on the original Quake 3 client - It was made with that purpose in mind.
Quake Live uses a different BSP version to that of the original client thus creating incompatibilities between the two in regards to .aas functionality.
[color=#40BFFF][size=85]Unearth the vile of anger where existence finds no shelter.[/size][/color]
dichtfux
Posts: 571
Joined: Thu Feb 02, 2006 10:51 pm

Re: Quake Live Steam aas

Post by dichtfux »

I haven't been around for quite a while, but now that QL has the workshop on Steam, I thought I could try and convert some of my old and crappy Q3A maps to QL.

After reading this thread, it seems that parts of all the stuff HipShot does are only needed because of terrain blending and other stuff. I am not sure what of these steps apply to my map.

If all I want to do is compile a basic map for QL (no terrain blending, most likely it breaks no limits. I am the author and I have the map file and all required assets ready, NOT only the bsp file). What would I need to do in that case? I guess I could skip some of those 5 steps?

Do I just need to compile it with the latest compiler? Do I need it to tell that it should compile for QL somehow? Do I still need to hex-edit the file?

And how should I package the map for QL? (I remember reading that the QL map format used some sort of 'encryption' some years ago. Is this true or is it just a renamed pk3 format?)

Thanks in advance for any help.

EDIT: I have followed all 5 steps posted above (including the hex editing). At the last step (#5), running the command bspc.exe -optimize -reach source_c.aas, I get the following error:

Code: Select all

Opened log bspc.log
BSPC version 2.1h, May  6 2001 16:15:03 by Mr Elusive
optimize = true
reach: source_c.bsp to source_c.aas
lump size 0
ERROR: error loading aas file source_c.aas
Any suggestions on what went wrong?
(The bsp and aas files after step 4 are here if needed: bsp aas)
[color=#FFFFFF][url=http://maps.rcmd.org]my FPS maps[/url][/color]
AndyW
Posts: 848
Joined: Wed Mar 11, 2015 3:23 pm

Re: Quake Live Steam aas

Post by AndyW »

Try to compile w Q3Map2Build and latest Q3Map2.
Strange that alot guys have problems to get their work running in QL...
Die Vitamine sind in der Dose gefangen!!!
dichtfux
Posts: 571
Joined: Thu Feb 02, 2006 10:51 pm

Re: Quake Live Steam aas

Post by dichtfux »

What is the latest official version of q3map2 and bspc?

I found this for q3map2 at obsidian's page, not sure if it's official or the latest: http://q3map2.robotrenegade.com/downloa ... win64_x86/

But where should I look for the latest bspc version? Is the one that comes with Radiant the latest? If so, which Radiant version? At http://icculus.org/gtkradiant/ it says the latest stable was 1.6.4. Is that suitable?
[color=#FFFFFF][url=http://maps.rcmd.org]my FPS maps[/url][/color]
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Quake Live Steam aas

Post by obsidian »

The Q3Map2 included with the latest stable build of GtkRadiant is what I would recommend using. It works.

BSPC may or may not have issues in the latest build. I haven't confirmed yet whether there is indeed a problem though it does seem like it. You can try snagging the older BSPC from GtkRadiant 1.6.3 or whatever and use it instead, though I'm not sure if that will work for QL either. I think that the problem is that QL keeps changing BSP versions whereas BSPC gets not get updated frequently. Further testing is required.
[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]
Post Reply