Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FBSP support to bspc and squash a few bugs along the way #4

Merged
merged 4 commits into from Apr 23, 2016
Merged

Add FBSP support to bspc and squash a few bugs along the way #4

merged 4 commits into from Apr 23, 2016

Conversation

viciious
Copy link

@viciious viciious commented Apr 18, 2016

FBSP is a flavor of Raven's IBSP, which is used by the Qfusion engine. With FBSP supported, adding RBSP support should be trivial now.

The changeset also includes among other things, fixes for compilation warnings and the notorious 'Tried parent' error.

@@ -692,14 +798,14 @@ void Q3_WriteBSPFile( char *filename )
Q3_AddLump( bspfile, header, Q3_LUMP_SURFACES, q3_drawSurfaces, q3_numDrawSurfaces*sizeof(q3_dsurface_t) );
Q3_AddLump( bspfile, header, Q3_LUMP_VISIBILITY, q3_visBytes, q3_numVisBytes );
Q3_AddLump( bspfile, header, Q3_LUMP_LIGHTMAPS, q3_lightBytes, q3_numLightBytes );
Q3_AddLump( bspfile, header, Q3_LUMP_LIGHTGRID, q3_gridData, 8 * q3_numGridPoints );
Q3_AddLump( bspfile, header, Q3_LUMP_LIGHTGRID, q3_gridData, q3_numGridBytes );
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change confused me for a bit. I think it's fine but I would rather it had stayed consistent with the q3map2 implementation that counts in grid points, especially since bspc doesn't seem to do anything with this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ye, well, I took a somewhat lazy approach here. RavenBSP/FusionBSP use a different lightgrid cell struct and I wasn't too keen on refactoring that particular piece of bspc's code.

@TTimo
Copy link
Owner

TTimo commented Apr 23, 2016

Thanks for sending this in. Could be good to propagate the offsetof fixes to q3map2 and GtkRadiant.

How about QFusion support in GtkRadiant? It's a bit weird to merge in things for a game that we don't support.

@TTimo TTimo merged commit 217308e into TTimo:master Apr 23, 2016
@viciious
Copy link
Author

Thanks for merging this.

Noted that GTKRadiant's q3map2 fork does support qfusion-based games, not sure about GTKRadiant itself: https://github.com/TTimo/GtkRadiant/blob/master/tools/quake3/q3map2/game_qfusion.h

There's Warsow game pack for Netradiant, which is a fork of GTKRadiant: https://github.com/Warsow/NetRadiantPack . Don't know what it'd take to port that to GTKRadiant.

@viciious
Copy link
Author

On a side note, I've noticed that x86/win and x64/lin bspc produce .aas files, which wildly differ in size despite originating from same .bsp's. Might be something worth looking into.

TTimo added a commit to TTimo/GtkRadiant that referenced this pull request Apr 24, 2016
@TTimo
Copy link
Owner

TTimo commented Apr 24, 2016

Yeah I would not recommend running a 64 bit bspc. I don't think anyone's gone through to look at structure sizes and fixing the 32/64 problems.

@viciious
Copy link
Author

viciious commented Apr 25, 2016

All structures found in aasfile.h appear relatively benign to me. The 64bit troubles must be coming from padding/alignment differences. I might look into that when time permits.

@TTimo
Copy link
Owner

TTimo commented Apr 25, 2016

fwiw - x64 bspc is tracked at TTimo/GtkRadiant#265

@ensiform
Copy link

ensiform commented May 2, 2016

Raven doesn't use AAS though. Their AI is housed in the game module for bots. And for NPCs is housed in either engine or mix of both more or less.

Pan7 pushed a commit to Pan7/GtkRadiant that referenced this pull request Feb 25, 2017
Pan7 added a commit to Pan7/GtkRadiant that referenced this pull request Feb 25, 2017
XYZ position adjusted

With either show_axis true or false.

Fix gcc warning pixbytes may be used uninitialized in this function

Patch Inspector menu item

Switching the key bindings for single face select (ctrl+shift+LMB) with multi face select (ctrl+shift+alt+LMB)

Increase the max open files to its maximum for msvc

C++11 and newer reserves X"foo" and "bar"Y for string literal syntax.

This patch fixes the instances that were found by MSVC 2015 compiling so far.

Min speed for 3d mouse velocity

Jedi Academy misc_model_static support for radiant.

This patch adds misc_model_static model rendering for radiant and tidies up the string check code for model classnames in a couple of places.

usemtl for obj models

DisplaySizeInfo

Fix (entity class) def file parsing

Missing errno.h header

Forgot XZ and YZ views, sorry again

Adds misc_model_breakable entity rendering support for Jedi Academy.

XYZ position adjusted

With either show_axis true or false.

Adjusted middle XYZ position

Fix shrinking console

Angle arrow for entities with angle and fixed size

Step 1: Numeric Keypad changes Grid Size

Step 2: Alt + Numeric Keypad filters

Replaced spaces by tabs... Sorry ^^'

- Convert to Visual Studio 2015
- Drop STLPort
- Rebuild libxml2 binaries, update project files accordingly
- Rebuild jpeg-9 binaries

updated support archives on S3

go back to version 1.6.5

Include errno.h in plugins/vfspk3/vfs.cpp

clone the bspc source

more Visual Studio 2015 conversion

oops left the other stuff turned off

compile x64 q3map2 against new libxml2 x64 lib folder

pull the new file

Filter misc_model etc by eclass instead of each entity name

This makes the recently added "misc_model_breakable" be filtered and
removes the redundant list of model entity names.

at some point libpng stopped being a dep of image.so?

reduce warning spam

Increase MAX_MAP_VISIBILITY as certain QuakeLive maps are starting to hit the limit

split bsp conversion stuff from q3map2

split bsp analyze/info/scale stuff from q3map2

split fixaas stuff from q3map2

Create CONTRIBUTING.md

MiniDump for msvc

Visual Studio 2015 on debug configs too

fix short alloc and heap corruption for winding_accu_t and brush_t - brought about by TTimo/bspc#4

phrasing..

issue TTimo#343 - was purging the wrong model from cache, causing pointers to freed memory

Update Apple Makefile.

Update de.po

I've expanded and improved the German translation for GtkRadiant.

Win fallback for non associated shader files

Using Sys_FPrintf with SYS_WRN and SYS_ERR

fix compilation

Fix Mac build's resolution of the gamepacks.

[unzip.c{,pp}] Change zc{alloc,free} to internal linkage

[regression_tests] Convert line endings to Unix style uniformly

[quake3/common/aselib.c] Remove unused local variables

[quake3/q3map2/brush.c] Fix arithmetic bug

[quake3/common/unzip.c] Add braces to make nested if/else less brittle; attempt to make whitespace a bit more uniform

[quake3/q3map2/brush.c] Fix misnamed variable

Fix compiling warning for wad

Fix for uninitialized var warning

Fix missing clamps for stvef

[tools/quake3/q3map2/light{,maps}_ydnar.c] Fix float-to-int conversion by preventing NaN values

[tools/quake3/q3map2] Fix memset size bugs

readability

more cleanups

misc cleanup

add bspc as submodule

update git ignores

Fix gcc warning suggest explicit braces to avoid ambiguous

More: Using Sys_FPrintf with SYS_WRN and SYS_ERR

This commit do the same as “Using Sys_FPrintf with SYS_WRN and SYS_ERR” commit by @Pan7 (5105fc5) for occurrences that were left untouched (tools/ subtree only).

More texture suffix checks for DarkPlaces effect texture names.

fix two obvious typos

Ported picomodel.c from 1.5

Improvements over 1.4/1.5 are in.

PicoModel: Cleanup, ASE support upgrade test, uncrustify

Next to be tested is MD3...

PicoModel - End of 1.5 backporting

lwo subfolder already done by @jdolan:
TTimo@a269593#diff-584b574ac260b5150f42f60544e9266e

PicoModel Backport: Fixed compilation.

Update .gitignore

Added more exclusions, most of them Windows/Visual Studio related.

Aligment.

Fix compilation on OS X. How is this working elsewhere?

This generates a different warning now, and is just wrong anyway.

Fix a handful of compiler warnings.

Fix for potentially using uninitialized variable

Fix gcc warning shdr may be used uninitialized

Fix gcc warning i may be used uninitialized

tweak previous pull with an assert

remove unused tex_palette

Fix gcc warning item may be used uninitialized in this function

read source file lists from .vcxproj files for SCons build

remove the old .vcproj

m4_submat modification

Fix gcc warning sizeof on array function parameter src will return size of float (*)[3]

Fix obj crash (TTimo#399)

Don't free buffer of another scope (TTimo#401)

Fix gcc warning pixbytes may be used uninitialized in this function

Merge branch 'master' of https://github.com/TTimo/GtkRadiant

Merge branch 'DisplaySizeInfo' of https://github.com/Mateos81/GtkRadiant

Merge branch 'master' of https://github.com/TTimo/GtkRadiant

Merge branch 'DisplaySizeInfo' of https://github.com/Mateos81/GtkRadiant

Merge branch 'DisplaySizeInfo' of https://github.com/Mateos81/GtkRadiant

Merge branch 'master' of https://github.com/TTimo/GtkRadiant

Merge branch 'master' of https://github.com/TTimo/GtkRadiant

Merge branch 'master' of https://github.com/TTimo/GtkRadiant

Merge branch 'master' of https://github.com/TTimo/GtkRadiant

Merge branch 'master' of https://github.com/Pan7/GtkRadiant

Merge branch 'master' of https://github.com/Pan7/GtkRadiant
Pan7 pushed a commit to Pan7/GtkRadiant that referenced this pull request Feb 27, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants