Quake3World.com Forums
     Level Editing & Modeling
        I need help making a .AAS file on Mac.


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




Print view Previous topic | Next topic 
Topic Starter Topic: I need help making a .AAS file on Mac.

Grunt
Grunt
Joined: 27 Oct 2010
Posts: 71
PostPosted: 10-31-2010 05:37 AM           Profile Send private message  E-mail  Edit post Reply with quote


Hey, I am running MackBook Pro s.4 GHz Intel Core 2 Duo (lol i don't even know what that means)
and I need help making a .AAS file. Can someone please tell me a program that I can use THAT WORKS?

-Thanks :)


:q3:



_________________
My Website:
Image


Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 10-31-2010 08:54 AM           Profile Send private message  E-mail  Edit post Reply with quote


Install Windows on your Mac either through Boot Camp or some other type of virtual machine, like Parallels, VMware or VirtualBox.

You can also give NetRadiant a try, they have OS X binaries:
http://www.icculus.org/netradiant/files/



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 10-31-2010 11:27 AM           Profile   Send private message  E-mail  Edit post Reply with quote


gtkradiant 1.5 for macos
http://mac.rbytes.net/cat/mac/games/gtkradiant/#

would that help?




Top
                 

Cool #9
Cool #9
Joined: 01 Dec 2000
Posts: 44131
PostPosted: 10-31-2010 11:25 PM           Profile   Send private message  E-mail  Edit post Reply with quote


Well, all he really needs is a Mac version of bspc.exe, if such a thing exists. I guess it comes in the GtkRadiant for Mac bundle. So in that case, yea, that would help.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-05-2010 08:45 PM           Profile Send private message  E-mail  Edit post Reply with quote


I tried working through the same problem, not only did I never get gtkradiant to work on any mac I owned, but NetRadiant (which I lovingly refer to as the "good" radiant) doesn't seem to come with any bspc type thing for mac.

As far as I can tell, no one cared to port it because of one error that came up when compiling BSPC in non-windows environments. I'd call them lazy, but I didn't fix it either so...whatevs...

what I did do, was take bspc.exe, and wrap it up tight in a WineSkin Wrapper, and very carefully monitored its log files while I forced it to run from the "run" prompt (no matter what they tell you, CMD does not run from wineskin)....it did work...it produced .aas files and I never had to boot into windows, but it was.......it sucked. Just map in windows, *all* of the tools work better in windows, and I do mean all of them. At least in my experience, anyway.

I wanted (so badly) to have an OS X quake 3 mapping workstation, but...all of the software is awful/or non-existant and not worth the trouble. I almost got to the point of making my own OSXradiant but....it was just so much easier to install windows..and...be done with it, as sad as that is.

If you want a step-by-step guide as to how I went totally nuts and forced bspc to work inside OS X, i'd be happy to post those steps here if you'd like. Until then, good luck.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-06-2010 02:22 AM           Profile Send private message  E-mail  Edit post Reply with quote


bspc compiles and runs on linux. Why wouldn't the same be true for OS X?




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 11-06-2010 07:34 AM           Profile   Send private message  E-mail  Edit post Reply with quote


^misantropia^ wrote:
bspc compiles and runs on linux. Why wouldn't the same be true for OS X?

what i was thinking




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-06-2010 09:19 AM           Profile Send private message  E-mail  Edit post Reply with quote


I thought the same thing too, but isn't it odd that it hasn't been done? I'm sure someone could do it, but I read somewhere that one person who tried got an error they seemed to think was insurmountable, and promptly gave up. So I thought "fine...whatever...wineskin it is" which worked...well enough I guess, I was able to release a bunch of my maps that way.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-06-2010 11:56 AM           Profile Send private message  E-mail  Edit post Reply with quote


I'll see if I can get bspc to compile in standalone mode. Someone here with a Mac willing to give it a shot?




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-06-2010 12:45 PM           Profile Send private message  E-mail  Edit post Reply with quote


Mac user standing by.

both PPC(10.4) and Intel(10.5 and 10.6)




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-06-2010 01:03 PM           Profile Send private message  E-mail  Edit post Reply with quote


https://github.com/bnoordhuis/bspc

You can either clone the repository with git or download the source tarball, then build it with `make`. Let me know if your run into issues.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-06-2010 01:12 PM           Profile Send private message  E-mail  Edit post Reply with quote


I used terminal to get into the directory of the tarball I downloaded

from there, i ran make..and this happened:

gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o _files.o -c _files.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_areamerging.o -c aas_areamerging.c
In file included from aas_areamerging.c:23:
qbsp.h:27:20: error: malloc.h: No such file or directory
make: *** [aas_areamerging.o] Error 1

what did I do wrong?




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-06-2010 01:30 PM           Profile Send private message  E-mail  Edit post Reply with quote


Nothing, bspc did something non-standard. Fixed, could you try it again?




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-06-2010 01:38 PM           Profile Send private message  E-mail  Edit post Reply with quote


make
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o _files.o -c _files.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_areamerging.o -c aas_areamerging.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_cfg.o -c aas_cfg.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_create.o -c aas_create.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_edgemelting.o -c aas_edgemelting.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_facemerging.o -c aas_facemerging.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_file.o -c aas_file.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_gsubdiv.o -c aas_gsubdiv.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_map.o -c aas_map.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_prunenodes.o -c aas_prunenodes.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o aas_store.o -c aas_store.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o be_aas_bspc.o -c be_aas_bspc.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/botlib/be_aas_bspq3.o -c deps/botlib/be_aas_bspq3.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/botlib/be_aas_cluster.o -c deps/botlib/be_aas_cluster.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/botlib/be_aas_move.o -c deps/botlib/be_aas_move.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/botlib/be_aas_optimize.o -c deps/botlib/be_aas_optimize.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/botlib/be_aas_reach.o -c deps/botlib/be_aas_reach.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/botlib/be_aas_sample.o -c deps/botlib/be_aas_sample.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o brushbsp.o -c brushbsp.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o bspc.o -c bspc.c
gcc -Dstricmp=strcasecmp -DMAC_STATIC= -DQDECL= -DCom_Memcpy=memcpy -DCom_Memset=memset -I. -Ideps -O3 -ffast-math -DLINUX -DBSPC -o deps/qcommon/cm_load.o -c deps/qcommon/cm_load.c
deps/qcommon/cm_load.c:28:30: error: ../bspc/l_qfiles.h: No such file or directory
deps/qcommon/cm_load.c: In function ‘CM_LoadMap’:
deps/qcommon/cm_load.c:611: error: ‘quakefile_t’ undeclared (first use in this function)
deps/qcommon/cm_load.c:611: error: (Each undeclared identifier is reported only once
deps/qcommon/cm_load.c:611: error: for each function it appears in.)
deps/qcommon/cm_load.c:611: error: syntax error before ‘)’ token
make: *** [deps/qcommon/cm_load.o] Error 1




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-06-2010 01:51 PM           Profile Send private message  E-mail  Edit post Reply with quote


Fixed. One more try please?




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-06-2010 02:09 PM           Profile Send private message  E-mail  Edit post Reply with quote


Call me a monkey's uncle....I think you've done it.


BSPC version 2.1h, Nov 6 2010 18:06:59
Usage: bspc [-<switch> [-<switch> ...]]
Example 1: bspc -bsp2aas /quake3/baseq3/maps/mymap?.bsp
Example 2: bspc -bsp2aas /quake3/baseq3/pak0.pk3/maps/q3dm*.bsp

Switches:
bsp2aas <[pakfilter/]filter.bsp> = convert BSP to AAS
reach <filter.bsp> = compute reachability & clusters
cluster <filter.aas> = compute clusters
aasopt <filter.aas> = optimize aas file
aasinfo <filter.aas> = show AAS file info
output <output path> = set output path
threads <X> = set number of threads to X
cfg <filename> = use this cfg file
optimize = enable optimization
noverbose = disable verbose output
breadthfirst = breadth first bsp building
nobrushmerge = don't merge brushes
noliquids = don't write liquids to map
freetree = free the bsp tree
nocsg = disables brush chopping
forcesidesvisible = force all sides to be visible
grapplereach = calculate grapple reachabilities

BSPC run time is 0 seconds
Closed log bspc.log



Get yourself a drink, you've earned it.

**edit

is the first version of bspc for os x...ever....running on my laptop?
(note the 6th of November, 2010 6:06:59 pm eastern standard time)
a mere 11 or so years after the game for which is was intended came out?

**re-edit

Can I mirror the latest tarball on my website? This code should really be circulated, I keep bumping into mac users that wanna put bots in their levels.

Until I get permission, I'll just link back to this thread.


**extra-re-edit

so I've been rebuilding the aas file from my bsp of razztazzmagoria, which, admittedly is a pretty complex map, but....

well, here's what bspc is doing so far:

Code:
BSPC version 2.1h, Nov  6 2010 18:06:59
bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-- Q3_LoadMapFromBSP --
Loading map from razztazzmagoria.bsp...
100932 triangles
     0 patch tris
creating planar surface planes...
searching visible brush sides...
25405913rush sides


note how the number of brush sides got so big it covered the 'b'

how on earth do 100K triangles pump out 25,405,913 brush sides?

as of this writing, it's 27 million and rising.

have I created a beast that can not be fed or....is the bspc code just stuck in a loop it's not breaking out of?

******too many edits

it finally crashed, it spit out all of this:

Code:
BSPC version 2.1h, Nov  6 2010 18:06:59
bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-- Q3_LoadMapFromBSP --
Loading map from razztazzmagoria.bsp...
100932 triangles
     0 patch tris
creating planar surface planes...
searching visible brush sides...
BSPC version 2.1h, Nov  6 2010 18:06:59
bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-- Q3_LoadMapFromBSP --
Loading map from razztazzmagoria.bsp...
100932 triangles
     0 patch tris
creating planar surface planes...
searching visible brush sides...
25011787rush sides
3594Segmentation fault
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ BSPC version 2.1h, Nov  6 2010 18:06:59
-bash: BSPC: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-bash: bsp2aas:: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ -- Q3_LoadMapFromBSP --
-bash: --: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ Loading map from razztazzmagoria.bsp...
-bash: Loading: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ 100932 triangles
-bash: 100932: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$      0 patch tris
-bash: 0: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ creating planar surface planes...
-bash: creating: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ searching visible brush sides...
-bash: searching: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$ 25011787rush sides
-bash: 25011787rush: command not found
ventolins-macbook:bnoordhuis-bspc-f87db8e ventolin$


so, it almost got to 36 million brush sides and freaked the hell out. that was fun

trying alternative compile methods




Top
                 

Messatsu Ko Jy-ouu
Messatsu Ko Jy-ouu
Joined: 24 Nov 2000
Posts: 44139
PostPosted: 11-07-2010 04:05 AM           Profile   Send private message  E-mail  Edit post Reply with quote


fucking hell misantropia owns it up again :up:




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-07-2010 05:42 AM           Profile Send private message  E-mail  Edit post Reply with quote


Quote:
Can I mirror the latest tarball on my website? This code should really be circulated, I keep bumping into mac users that wanna put bots in their levels.

Sure, it's open source so do what you want with it. I'd appreciate it if you link back to the GitHub repo so people will know where to report issues.

Quote:
how on earth do 100K triangles pump out 25,405,913 brush sides?

You probably need to add -forcesidesvisible when you compile the map with q3map2. In any case, is the .map file available somewhere? Should be an interesting test case.




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 11-07-2010 05:59 AM           Profile Send private message  E-mail  Edit post Reply with quote


^mis: Maybe move to LEM?



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-07-2010 07:48 AM           Profile Send private message  E-mail  Edit post Reply with quote


Sure thing.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-07-2010 12:34 PM           Profile Send private message  E-mail  Edit post Reply with quote


^misantropia^ wrote:
Quote:
Can I mirror the latest tarball on my website? This code should really be circulated, I keep bumping into mac users that wanna put bots in their levels.
Sure, it's open source so do what you want with it. I'd appreciate it if you link back to the GitHub repo so people will know where to report issues.


Absolutely.

Quote:
how on earth do 100K triangles pump out 25,405,913 brush sides?
You probably need to add -forcesidesvisible when you compile the map with q3map2. In any case, is the .map file available somewhere? Should be an interesting test case.


I tried -forcesidesvisible, which as I recall is what I had to do in the windows version, but no dice in the mac version yet. I also tried -optimize and -nocsg in varying combinations, no success, I did however successfully build a much, much, much smaller map in no time at all, and without a hitch - so it can, and does work. It's just having a rough time with one of my more heinous maps.

if you're curious:

http://sirventolin.webs.com/razztazzmagoria.htm

I'm essentially on a campaign to push vanilla quake 3 as far as it can go.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-07-2010 04:43 PM           Profile Send private message  E-mail  Edit post Reply with quote


Just ran it on linux amd64 but it compiles without a hitch: 100932 triangles, 96367 brush sides.

I've committed a few patches. Any chance you could re-download the source and do a `make clean debug`, followed by this ->
Code:
gdb --args ./bspc_g -forcesidesvisible -bsp2aas razztazzmagoria.bsp
run
# wait until it crashes
bt

...and post the backtrace?




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-07-2010 04:48 PM           Profile Send private message  E-mail  Edit post Reply with quote


Will do, I've got my hands filled at the moment though, might have to get to it tomorrow...I accidentally screwed up someone's install of net radiant. Got any experience with Snow Leopard and Net Radiant by chance?

*edit

got it sorted out, NetRadiant can work reliably in snow leopard!

I'm gounna go back and do a make clean debug on the first successful compile I did, now I'm in Snow Leopard (same machine, different partition) and I got it to compile successfully here to, but I had to do a simple 'make' (using your latest source tarball)....just doing 'make clean debug' didn't seem to produce an executable-type file, because I'd type in './bspc' like I did before, and it would give me a file not found kinda message....so I did a 'make' that seemed to fix it, should I run 'make clean debug' after 'make' has been allowed to run?

** re edit

never mind, I'm...I just woke up and some of this is new to me, we're good now.

I didn't know that another program acted as the debug environment - that's kinda neat.

I ran make, then make clean debug, and got gdb running with bspc and the proper parameters.

Will update when it flips its lid.


*** As promised. (these are snow leopard results)
Code:

BSPC version 2.1h, Nov  8 2010 11:06:28
forcesidesvisible = true
bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-- Q3_LoadMapFromBSP --
Loading map from razztazzmagoria.bsp...
100932 triangles
     0 patch tris
creating planar surface planes...
searching visible brush sides...
95969 brush sides
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x088d6008
0x00049231 in Q3_FindVisibleBrushSides () at l_bsp_q3.c:378
378         for (j = 0; j < brush->numSides; j++)
(gdb)  bt
#0  0x00049231 in Q3_FindVisibleBrushSides () at l_bsp_q3.c:378
#1  0x00049e2a in Q3_LoadBSPFile (qf=0x9002000) at l_bsp_q3.c:636
#2  0x00070204 in Q3_LoadMapFromBSP (qf=0x9002000) at map_q3.c:619
#3  0x00067340 in LoadMapFromBSP (qf=0x9002000) at map.c:1219
#4  0x0002edee in main (argc=4, argv=0xbffff4e0) at bspc.c:766
(gdb)



There ya go.

**extra edit

(below are the Leopard results)

Code:

gdb --args ./bspc_g -forcesidesvisible -bsp2aas razztazzmagoria.bsp
GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct  2 04:07:49 UTC 2007)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin"...Reading symbols for shared libraries ... done

(gdb) run
Starting program: /bnoordhuis-bspc-a2c66e9/bspc_g -forcesidesvisible -bsp2aas razztazzmagoria.bsp
Reading symbols for shared libraries ++. done
Opened log bspc.log
BSPC version 2.1h, Nov  8 2010 13:29:45
forcesidesvisible = true
bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-- Q3_LoadMapFromBSP --
Loading map from razztazzmagoria.bsp...
100932 triangles
     0 patch tris
creating planar surface planes...
searching visible brush sides...
35945376rush sides
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x32ab3000
0x000478ca in Q3_BrushSideWinding (brush=0x8b70034, baseside=0x32ab3000) at l_bsp_q3.c:330
330      baseplane = &q3_dplanes[baseside->planeNum];
(gdb) bt
#0  0x000478ca in Q3_BrushSideWinding (brush=0x8b70034, baseside=0x32ab3000) at l_bsp_q3.c:330
#1  0x00047b1c in Q3_FindVisibleBrushSides () at l_bsp_q3.c:383
#2  0x0004897b in Q3_LoadBSPFile (qf=0x9002000) at l_bsp_q3.c:636
#3  0x0006bd20 in Q3_LoadMapFromBSP (qf=0x9002000) at map_q3.c:619
#4  0x0006329e in LoadMapFromBSP (qf=0x9002000) at map.c:1219
#5  0x0002dfbe in main (argc=4, argv=0xbffff798) at bspc.c:766
(gdb)


it took WAYYYYY longer to crash in leopard than it did in snow leopard.....weird..




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-11-2010 08:16 AM           Profile Send private message  E-mail  Edit post Reply with quote


don't you die on me! I need this to live. Considering wrapping some books on C around my head and diving in...




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-11-2010 02:56 PM           Profile Send private message  E-mail  Edit post Reply with quote


Thanks for the bug report, Steve. I'd missed it so far because only new posts bump the topic, editing does not.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-11-2010 03:03 PM           Profile Send private message  E-mail  Edit post Reply with quote


By the way, I've committed some bug fixes and code cleanup in the last few days. Could you try it with the current version? You might want to install git, makes it easier to track changes than downloading the source tarball again and again.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-12-2010 10:23 AM           Profile Send private message  E-mail  Edit post Reply with quote


Actually downloading the tarball isn't bad at all, and I think I have git installed...I may have used it while I was on my insane late-night crusade to make NetRadiant work in snowleopard when I couldn't get any of the guides explaining it to work, I just don't know *how* to use it.

I'd be happy to do the same steps again if it helps you,

tarball
make clean debug
gdb run
bt

etc




I've debugged some code before in my life, but never with anything like :

#0 0x000478ca in Q3_BrushSideWinding (brush=0x8b70034, baseside=0x32ab3000) at l_bsp_q3.c:330
#1 0x00047b1c in Q3_FindVisibleBrushSides () at l_bsp_q3.c:383
#2 0x0004897b in Q3_LoadBSPFile (qf=0x9002000) at l_bsp_q3.c:636
#3 0x0006bd20 in Q3_LoadMapFromBSP (qf=0x9002000) at map_q3.c:619
#4 0x0006329e in LoadMapFromBSP (qf=0x9002000) at map.c:1219
#5 0x0002dfbe in main (argc=4, argv=0xbffff798) at bspc.c:766

I see hex addresses, ...what the hell do you do with hex addresses? Or are you just looking at the .c files that are referenced? How is this information guiding your debug process?

the latest:


(gdb) run
Starting program: /bnoordhuis-bspc-a2c66e9/bspc_g -forcesidesvisible -bsp2aas razztazzmagoria.bsp
Reading symbols for shared libraries +. done
Opened log bspc.log
BSPC version 2.1h, Nov 12 2010 13:29:40
forcesidesvisible = true
bsp2aas: razztazzmagoria.bsp to razztazzmagoria.aas
-- Q3_LoadMapFromBSP --
Loading map from razztazzmagoria.bsp...
100932 triangles
0 patch tris
creating planar surface planes...
searching visible brush sides...
95969 brush sides
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x088d7008
0x00049231 in Q3_FindVisibleBrushSides () at l_bsp_q3.c:378
378 for (j = 0; j < brush->numSides; j++)
(gdb) bt
#0 0x00049231 in Q3_FindVisibleBrushSides () at l_bsp_q3.c:378
#1 0x00049e2a in Q3_LoadBSPFile (qf=0x9002000) at l_bsp_q3.c:636
#2 0x00070204 in Q3_LoadMapFromBSP (qf=0x9002000) at map_q3.c:619
#3 0x00067340 in LoadMapFromBSP (qf=0x9002000) at map.c:1219
#4 0x0002edee in main (argc=4, argv=0xbffff440) at bspc.c:766
(gdb)


keep in mind, I've used bspc for the mac to successfully compile bsp files to aas files, just not razztazzmagoria, which the windows version can do. Razztazzmagoria is a horrible ugly demon of awful mapping practices....but it should still technically be able to work. If you'd like a full working copy of your very own Razztazzmagoria look no further:

http://www.map-factory.org/download/qua ... a-1907.zip

if you want the .map source to razztazzmagoria, I'd be happy to email it to you...but when you open it you might wanna....think about a calm, relaxing place before you go about working with it.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-12-2010 02:00 PM           Profile Send private message  E-mail  Edit post Reply with quote


Thanks for the report, Steve, I think I've got a handle on it. Seems to have something to do with pointer sizes: everything works on 64 bits systems but crashes on 32 bits systems.

Quote:
Actually downloading the tarball isn't bad at all, and I think I have git installed...I may have used it while I was on my insane late-night crusade to make NetRadiant work in snowleopard when I couldn't get any of the guides explaining it to work, I just don't know *how* to use it.

It's well worth learning if you are serious about programming. Git is the Swiss army knife of versioning tools. If you've worked with CVS or SVN, watch out: after two weeks of git you won't be able to go back.

Quote:
I see hex addresses, ...what the hell do you do with hex addresses? Or are you just looking at the .c files that are referenced? How is this information guiding your debug process?

It points me in the right direction. If for example the code crashes in a certain place but only after the umpteenth iteration, it's a strong hint that some out-of-bounds array write is taking place. But if it crashes on the first call, then we're probably dealing with a stray or NULL pointer.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-12-2010 03:36 PM           Profile Send private message  E-mail  Edit post Reply with quote


Damn interesting. I'll look into git.

I've done next to no social coding, everything I've done so far has been editing system calls so programs work in different platforms. The rest of my work history goes into dabbling lightly in no less than like...12 different languages. I just go to where the problems are (as they pertain to my hobbies or paycheck)

Question: When you want a program to be 64-bit, do you just need to compile it on 64-bit hardware with a 64-bit compiler? I have one of those early Intel macs so it ..can....run 64 bit code, it's just completely awful at it. I do have an AMD64 system that I could try compiling the code on too if you'd like. It has the distinct advantage of being actually 64-bit, not that I'm annoyed at Intel or anything for trying to emulate 64-bit modes.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-19-2010 07:09 PM           Profile Send private message  E-mail  Edit post Reply with quote


don't you die on me again! The world needs you.




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-20-2010 03:38 AM           Profile Send private message  E-mail  Edit post Reply with quote


Hah. It's still on my mental to do list!

Already did some digging, seems a pointer all of a sudden flips from <legal value> to <illegal value> without any apparent cause. Gremlins? Solar flares? I'll keep you posted. =)




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 11-20-2010 03:43 AM           Profile Send private message  E-mail  Edit post Reply with quote


Quote:
Question: When you want a program to be 64-bit, do you just need to compile it on 64-bit hardware with a 64-bit compiler? I have one of those early Intel macs so it ..can....run 64 bit code, it's just completely awful at it. I do have an AMD64 system that I could try compiling the code on too if you'd like. It has the distinct advantage of being actually 64-bit, not that I'm annoyed at Intel or anything for trying to emulate 64-bit modes.

You need to compile it with a compiler that generates 64 bits code, yes. Having a computer that can also run said code will definitely help.




Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-20-2010 06:37 AM           Profile Send private message  E-mail  Edit post Reply with quote


how many value types could bspc use? it's not like it processes strings at any point other than when it reads command line arguments...so everything else must all be int, double, float, whatever

while it would be incredibly lazy to do so, couldn't you just set all of the memory types to the one that probably uses the most memory, but would also be able to handle more diverse numbers?

(I only suggest this because the most memory I've ever seen bspc use is like 120MB of ram and in modern computers where everyone has 2...4...8...16GB of ram, 120MB seems kinda negligible consider bspc only runs for..at most like 20 minutes)

it seems like bspc has some error messages built in, like MAX_BRUSHES_SOMETHING_OMNIOUS and those are basicialy built around cases where they knew the program would crash, right? perhaps razztazzmagoria is just so big and silly...whatever you did to make it compile in the first place (which I believe changed something to do with memory) might have changed something else down the line that makes it unable to handle huge data sets....but also, it seems like razztazzmagoria could be tripping some limit which in other cases, may simply have returned an error that it's just not triggering in bspc for osx




Top
                 

I'm the dude!
I'm the dude!
Joined: 04 Feb 2002
Posts: 12498
PostPosted: 11-20-2010 07:08 AM           Profile Send private message  E-mail  Edit post Reply with quote


-fixaas (in particular, read sock's post. Also, I think this is the only thread where a13n actually makes any sense and isn't batshit crazy):

viewtopic.php?f=10&t=31963&hilit=fixaas



_________________
GtkRadiant | Q3Map2 | Shader Manual


Top
                 

Insane Quaker
Insane Quaker
Joined: 05 Nov 2010
Posts: 449
PostPosted: 11-20-2010 07:25 PM           Profile Send private message  E-mail  Edit post Reply with quote


That would work and certainly with great results but here we're trying to build bspc for the Mac that can work as well, or better than the windows version so we're just treating one of my more unreasonable maps as a benchmark of functionality. the windows version could handle this so we just wanna know why the is os x one is having a rough time with it. However, that's an extremely useful link and should probably be stickied somewhere.




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.