Latest revision |
Your text |
Line 3: |
Line 3: |
| '''The spec is still a work in progress!''' | | '''The spec is still a work in progress!''' |
| | | |
− | === Thanks === | + | === Todo === |
− | * '''LadyHavoc''' for dpextensions.qc, most features people seem to want were listed and described here
| + | - Discuss the current suggested extensions listed below |
− | * '''Spike''' for the FTE Wiki
| |
− | * '''frag.machine''' for the engine limits list
| |
− | * '''Spirit''' for the [[Engine Limits]] page
| |
− | * Everyone who's shown support, contributed with ideas and discussion
| |
| | | |
− | === Todo ===
| + | - Should QSB care about network protocols? What about QuakeWorld? Restrict first version of QSB to the singleplayer experience? |
− | * Discuss the current suggested extensions listed below
| |
− | * Should QSB care about network protocols?
| |
− | * What about QuakeWorld and specific QuakeWorld features?
| |
| | | |
| === Discussion === | | === Discussion === |
− | [http://forums.insideqc.com/viewtopic.php?t=1903 Suggestions for features on IQC] | + | [http://forums.inside3d.com/viewtopic.php?t=1903 Suggestions for features on I3D] |
| | | |
− | [http://forums.insideqc.com/viewtopic.php?t=1953 Discuss existing features on IQC] | + | [http://forums.inside3d.com/viewtopic.php?t=1953 Discuss existing features on I3D] |
| | | |
| === Increased Engine Limits === | | === Increased Engine Limits === |
| QSB will require some increased limits to bring engines to a more modern level of capability. This is still an ongoing discussion, as some of the limits are incompatible with the default Quake network protocol. | | QSB will require some increased limits to bring engines to a more modern level of capability. This is still an ongoing discussion, as some of the limits are incompatible with the default Quake network protocol. |
| | | |
− | {| class="wikitable" border="1" style="text-align: center; width: auto;"
| + | See [[Engine Limits]] for suggested QSB limits. |
− | |-
| |
− | ! Limit name !! Old limit !! New limit !! Note/Category
| |
− | |-
| |
− | ! MAX_HANDLES
| |
− | | 10 || 100 || File handling
| |
− | |-
| |
− | ! MINIMUM_WIN_MEMORY
| |
− | | 0x01000000 (16Mb) || 0x02000000 (32Mb) || Engine
| |
− | |-
| |
− | ! MAXIMUM_WIN_MEMORY
| |
− | | 0x04000000 (64Mb) || 0x08000000 (128Mb) || Engine
| |
− | |-
| |
− | ! CON_TEXTSIZE
| |
− | | 16384 || 262144 || Engine (maybe not relevant)
| |
− | |-
| |
− | ! MAX_FARCLIP
| |
− | | 4096 || INFINITE || Rendering
| |
− | |-
| |
− | ! MAX_EDICTS
| |
− | | 600 || 8192 (*) || Map limit
| |
− | |-
| |
− | ! NET_MAXMESSAGE
| |
− | | 8192 || 65536 (****) || Network
| |
− | |-
| |
− | ! MAX_STATIC_ENTITIES
| |
− | | 128 || 1024 || Map limit
| |
− | |-
| |
− | ! MAX_MAP_LEAFS
| |
− | | 8192 || 32768 (**) || Map limit
| |
− | |-
| |
− | ! MAX_LIGHTMAPS
| |
− | | 64 || 256 || Map limit
| |
− | |-
| |
− | ! NUMSTACKSURFACES
| |
− | | 800 || 8192 || Map limit
| |
− | |-
| |
− | ! NUMSTACKEDGES
| |
− | | 2400 || 8192 || Map limit
| |
− | |-
| |
− | ! MAX_VISEDICTS
| |
− | | 256 || MAX_EDICTS || Map limit
| |
− | |-
| |
− | ! MAX_DATAGRAM
| |
− | | 1024 || 1400 || Network
| |
− | |-
| |
− | ! MAX_MSGLEN
| |
− | | 8000 || 65536 (****) || Network
| |
− | |-
| |
− | ! MAX_STACK_DEPTH
| |
− | | 32 || 256 || Engine
| |
− | |-
| |
− | ! MAX_EFRAGS
| |
− | | 640 || 2048 || Map limit
| |
− | |-
| |
− | ! MAX_CHANNELS
| |
− | | 128 || 512 || Sound
| |
− | |-
| |
− | ! MAX_DYNAMIC_CHANNELS
| |
− | | 8 || 128 || Sound
| |
− | |-
| |
− | ! MAX_MAP_CLIPNODES
| |
− | | 32767 || 65535 (**) || Map limit
| |
− | |-
| |
− | ! MAX_GLTEXTURES
| |
− | | 1024 || 2048 (***) || Rendering
| |
− | |-
| |
− | ! MAX_TEMP_ENTITIES
| |
− | | 64 || 1024 || Rendering
| |
− | |-
| |
− | ! DYNAMIC_SIZE
| |
− | | 49152 || 262144 || Engine
| |
− | |-
| |
− | ! MAX_BMODEL_VERTS
| |
− | | 500 || 1000 || Map limit
| |
− | |-
| |
− | ! MAX_BMODEL_EDGES
| |
− | | 1000 || 3000 || Map limit
| |
− | |-
| |
− | ! MAXALIASVERTS
| |
− | | 1024(GL) 2000(SW) || 65536 || Model
| |
− | |-
| |
− | ! MAXALIASTRIS
| |
− | | 2048 || 65536 || Model
| |
− | |-
| |
− | ! MAX_LBM_HEIGHT
| |
− | | 480 || 1024 || Model
| |
− | |-
| |
− | ! ABSOLUTE_MIN_PARTICLES
| |
− | | 512 || 1024 || Engine
| |
− | |-
| |
− | ! MAX_PARTICLES
| |
− | | 2048 || 16384 || Rendering
| |
− | |-
| |
− | ! MAX_MODELS
| |
− | | 256 || 4096 (*) || Network
| |
− | |-
| |
− | ! MAX_SOUNDS
| |
− | | 256 || 4096 (*) || Network
| |
− | |-
| |
− | ! MARKSURFACES
| |
− | | 32767 || 65535 (**) || Map limit
| |
− | |-
| |
− | ! FACES
| |
− | | 32767 || 65535 (**) || Map limit
| |
− | |-
| |
− | ! NODES
| |
− | | 32767 || 65535 (**) || Map limit
| |
− | |-
| |
− | ! MAX_BEAMS
| |
− | | 24 || 256 || Rendering
| |
− | |-
| |
− | ! MAX_DLIGHTS
| |
− | | 32 || 128 || Rendering (might be best left alone)
| |
− | |}
| |
− | * (*) = requires new network protocol
| |
− | * (**) = should be implemented in a non-hacky way (replacing short values with 32-bit ints)
| |
− | * (***) = Hardware-rendering specific
| |
− | * (****) = See FitzQuake README.TXT about multiplayer games sticking to 1400 bytes due network limitations
| |
| | | |
| === Supported Extensions === | | === Supported Extensions === |
Line 186: |
Line 61: |
| |- | | |- |
| ! [[DP_ENT_ALPHA]] | | ! [[DP_ENT_ALPHA]] |
− | | full range required for engines with hardware accelerated rendering, software engines round off to the nearest of 25%, 50% and 75% alpha, based on a lookup table. This also includes r_wateralpha support. Bmodels with a water texture and an .alpha value will override r_wateralpha, and use its own value instead, like in FitzQuake. For hardware accelerated engines this includes support for textures with alpha channels on bmodels and model skins. '''(ALTERS NETWORK PROTOCOL)''' | + | | full range required for engines with hardware accelerated rendering, software engines round off to the nearest of 25%, 50% and 75% alpha, based on a lookup table. For hardware accelerated engines this includes support for textures with alpha channels on bmodels and model skins. '''(ALTERS NETWORK PROTOCOL)''' |
| |- | | |- |
| ! [[DP_ENT_SCALE]] | | ! [[DP_ENT_SCALE]] |
Line 220: |
Line 95: |
| ! [[DP_QC_FINDFLOAT]] | | ! [[DP_QC_FINDFLOAT]] |
| | (note, includes findentity) | | | (note, includes findentity) |
− | |-
| |
− | ! [[DP_QC_FS_SEARCH]]
| |
− | |
| |
| |- | | |- |
| ! [[DP_QC_MINMAXBOUND]] | | ! [[DP_QC_MINMAXBOUND]] |
Line 243: |
Line 115: |
| |- | | |- |
| ! [[DP_QC_VECTOANGLES_WITH_ROLL]] | | ! [[DP_QC_VECTOANGLES_WITH_ROLL]] |
− | |
| |
− | |-
| |
− | ! [[DP_QUAKE2_MODEL]]
| |
| | | | | |
| |- | | |- |
Line 303: |
Line 172: |
| | | |
| ==== New Suggested Extensions ==== | | ==== New Suggested Extensions ==== |
− | Some engines already support some of these features, but as they don't exist as extensions, new ones are suggested. Even engines already supporting the features would need to list them as extensions.
| + | [[QSB_GAMEPLAYFIXES]] |
| | | |
− | * [[QSB_GAMEPLAYFIXES]]
| + | [[QSB_FOG]] |
− | * [[QSB_FOG]]
| |
− | * [[QSB_MOVINGSOUNDS]]
| |
| | | |
− | === Misc. features ===
| + | [[QSB_MULTICONTENT]] |
− | Some required features can't be categorized under anything else, they are listed below.
| |
| | | |
− | * '''Multicontent'''
| + | [[QSB_MOVINGSOUNDS]] |
− | Allows the user to specify multiple mod paths to read content from, with the last in line being the one loaded for play.
| |
| | | |
− | Example commandline: -game quoth -game mymod
| + | === Bugfixes === |
− | | + | - render liquid textures of other sizes than 64x64 correctly |
− | This would make "mymod" be the current mod in play, but extra content is loaded from "quoth". Extra content is sounds, models, sprites, textures, maps, more?
| |
− | | |
− | * '''Higher precision origins and angles'''
| |
− | Use floating point for origins and shorts for angles '''(ALTERS NETWORK PROTOCOL)'''
| |
| | | |
− | === Bugfixes ===
| + | - fix rendering of models with large bounding-boxes disappearing at edges of screen |
− | * Render liquid textures of other sizes than 64x64 correctly
| |
− | * Allow sky textures of 4x2 and higher
| |
− | * Fix rendering of models with large bounding-boxes disappearing at edges of screen
| |
| | | |
| == See Also == | | == See Also == |
Line 331: |
Line 189: |
| * [[List of builtin functions]] | | * [[List of builtin functions]] |
| * [[QSG extensions]] | | * [[QSG extensions]] |
− |
| |
− | [[Category:Abandoned Idea]]
| |