Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Editing QSB

From Quake Wiki

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
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]]
 

Please note that all contributions to Quake Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Quake Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)