-
Notifications
You must be signed in to change notification settings - Fork 22
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
Conversation
@@ -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 ); |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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. |
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. |
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. |
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. |
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. |
fwiw - x64 bspc is tracked at TTimo/GtkRadiant#265 |
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. |
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
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.