Skip to content
qbism super8 engine based on Makaqu and Quake source code
C Assembly Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Update readme_qbismSuper8.txt Jan 1, 2016
s_win32 Increase max video modes (200). Still only going to show 40 max on th… Aug 20, 2016
tools Automatically calculate fviews, the number of viewplanes for fisheye … Jun 9, 2013
README.md
adivtab.h finishing up GPL V3 message Sep 9, 2012
anorms.h finishing up GPL V3 message Sep 9, 2012
asm_draw.h fence textures part 1, bsp2 part 2 Dec 28, 2014
asm_i386.h
bgmusic.c
bgmusic.h D_PolysetCalcGradients optimized via inside3d tute by MK. Aug 28, 2013
bspfile.h bsp2 Dec 23, 2014
cdaudio.h various header and type cast corrections from Levent. Jul 5, 2014
chase.c Finish out cvar help text. Jul 21, 2013
cl_demo.c
cl_input.c fix protocol bugs- alpha and spawnstatic Jan 7, 2015
cl_main.c
cl_parse.c still working on bsp restart Feb 5, 2016
cl_tent.c big improvement to colors. use standard 'palette.pal' by default. Jan 26, 2016
client.h Add cl_beams_quakepositionhack cvar. Jan 2, 2016
cmd.c Add cl_beams_quakepositionhack cvar. Jan 2, 2016
cmd.h Add caller tracking for Cbuf_AddText Feb 10, 2015
common.c bsprestart is off. Would need a third pass, and already rather slow. … Feb 1, 2016
common.h fix protocol bugs- alpha and spawnstatic Jan 7, 2015
console.c various header and type cast corrections from Levent. Jul 5, 2014
console.h various header and type cast corrections from Levent. Jul 5, 2014
crc.c finishing up GPL V3 message Sep 9, 2012
crc.h finishing up GPL V3 message Sep 9, 2012
cvar.c various header and type cast corrections from Levent. Jul 5, 2014
cvar.h various header and type cast corrections from Levent. Jul 5, 2014
d_draw.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_draw16.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_edge.c add separate water, slime, and lava alpha settings Nov 15, 2016
d_iface.h Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_ifacea.h Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_init.c Cleaning up transparency rendering. Working toward bsp restart... wit… Jan 30, 2016
d_local.h add separate water, slime, and lava alpha settings Nov 15, 2016
d_modech.c Smaller default particle size. Oct 29, 2014
d_part.c Increase video mode slots from 21 to 27. Jul 30, 2014
d_parta.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_polysa.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_polyse.c Remove stipple-alpha. This may be the culprit. Add alpha50map (50% al… Jul 16, 2014
d_scan.c add separate water, slime, and lava alpha settings Nov 15, 2016
d_sky.c Warp performance improvement- flipping buffer after warp effect is wo… Jan 5, 2014
d_spr8.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_sprite.c bsp2, fence, bmodel alpha continued. Dec 30, 2014
d_surf.c
d_vars.c roll depth buffer pointers back from 'unsigned' because it CAN be neg… Jul 15, 2014
d_varsa.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
d_zpoint.c roll depth buffer pointers back from 'unsigned' because it CAN be neg… Jul 15, 2014
draw.c Use -sndspeed at command line to change default of 11025. Feb 8, 2015
draw.h various header and type cast corrections from Levent. Jul 5, 2014
easy.h added download of models, maps, and sounds from server. Based on Bake… Apr 23, 2012
gnu.txt GPL V3. Some code from other projects was GPL 3, so might as well mov… Sep 6, 2012
host.c working on 'client can connect only once to dedicated server' issue. Apr 2, 2016
host_cmd.c add give armor from FitzQuake. Jul 7, 2016
input.h finishing up GPL V3 message Sep 9, 2012
keys.c Add cl_beams_quakepositionhack cvar. Jan 2, 2016
keys.h
mathlib.c fixed conflicting 'host_frametime' code, FQ and QIP. Removed QIP bits. Jan 7, 2014
mathlib.h more colored lighting changes. Jul 21, 2014
menu.c add separate water, slime, and lava alpha settings Nov 15, 2016
menu.h finishing up GPL V3 message Sep 9, 2012
model.c add separate water, slime, and lava alpha settings Nov 15, 2016
model.h add separate water, slime, and lava alpha settings Nov 15, 2016
multi.h added download of models, maps, and sounds from server. Based on Bake… Apr 23, 2012
net.h Don't Draw_Fill when dedicated Mar 7, 2016
net_dgrm.c restore Strip_Port Apr 2, 2016
net_dgrm.h finishing up GPL V3 message Sep 9, 2012
net_loop.c Change bufferlength from int to unsigned int to maximize chaos. Oct 26, 2013
net_loop.h finishing up GPL V3 message Sep 9, 2012
net_main.c
net_none.c finishing up GPL V3 message Sep 9, 2012
pr_cmds.c Add caller tracking for Cbuf_AddText Feb 10, 2015
pr_comp.h finishing up GPL V3 message Sep 9, 2012
pr_edict.c Add test1 cvar for QS mod compatibility. Feb 13, 2016
pr_exec.c Really have the stuck window bug fixed this time... Dec 19, 2012
progdefs.h
progdefs.q1 No commit message Aug 4, 2011
progs.h various header and type cast corrections from Levent. Jul 5, 2014
protocol.h fix protocol bugs- alpha and spawnstatic Jan 7, 2015
qbS8.workspace also print model name if missing skins. Jan 2, 2016
qbismSuper8.cbp complete auto vis based on MarkV. Mar 8, 2016
quakeasm.h roll depth buffer pointers back from 'unsigned' because it CAN be neg… Jul 15, 2014
quakedef.h Don't Draw_Fill when dedicated Mar 7, 2016
r_aclip.c
r_alias.c Fix nolerp list Jun 2, 2016
r_bsp.c complete auto vis based on MarkV. Mar 8, 2016
r_draw.c still working on bsp restart Feb 5, 2016
r_edge.c various header and type cast corrections from Levent. Jul 5, 2014
r_efrag.c Really have the stuck window bug fixed this time... Dec 19, 2012
r_light.c Improve r_saturation. Mar 9, 2016
r_local.h r_saturation (really more like .lit intensity) Mar 7, 2016
r_main.c add separate water, slime, and lava alpha settings Nov 15, 2016
r_misc.c complete auto vis based on MarkV. Mar 8, 2016
r_part.c Improve r_saturation. Mar 9, 2016
r_shared.h Improve r_saturation. Mar 9, 2016
r_sky.c bsprestart is off. Would need a third pass, and already rather slow. … Feb 1, 2016
r_sprite.c Really have the stuck window bug fixed this time... Dec 19, 2012
r_surf.c bsp2, fence, bmodel alpha continued. Dec 30, 2014
r_vars.c finishing up GPL V3 message Sep 9, 2012
r_varsa.S Fixed warpspan GDI error, vid.width / vid.rowbytes mix-up. Jul 11, 2014
render.h add separate water, slime, and lava alpha settings Nov 15, 2016
sbar.c Use -sndspeed at command line to change default of 11025. Feb 8, 2015
sbar.h various header and type cast corrections from Levent. Jul 5, 2014
screen.c Use -sndspeed at command line to change default of 11025. Feb 8, 2015
screen.h fix scr_ofsx,y,z Aug 10, 2014
server.h Improve r_saturation. Mar 9, 2016
snd_codec.c various header and type cast corrections from Levent. Jul 5, 2014
snd_codec.h various header and type cast corrections from Levent. Jul 5, 2014
snd_codeci.h various header and type cast corrections from Levent. Jul 5, 2014
snd_dma.c Use -sndspeed at command line to change default of 11025. Feb 8, 2015
snd_mem.c various header and type cast corrections from Levent. Jul 5, 2014
snd_mix.c
snd_mp3.c fix scr_ofsx,y,z Aug 10, 2014
snd_mp3.h mp3 and ogg with "music" command, based on QuakeSpasm source. Feb 19, 2013
snd_vorbis.c Get GDI video driver option working. Aug 29, 2013
snd_vorbis.h mp3 and ogg with "music" command, based on QuakeSpasm source. Feb 19, 2013
snd_wave.c mp3 and ogg with "music" command, based on QuakeSpasm source. Feb 19, 2013
snd_wave.h mp3 and ogg with "music" command, based on QuakeSpasm source. Feb 19, 2013
sound.h Compress baseline signon message to keep it below 65K bytes on 'telef… Jan 6, 2015
spritegn.h GPL V3. Some code from other projects was GPL 3, so might as well mov… Sep 6, 2012
sv_main.c Dedicated reconnect fixed based on simple test. Apr 2, 2016
sv_move.c minor comment cleanup, move SVN host back to sourceforge Dec 17, 2012
sv_phys.c add give armor from FitzQuake. Jul 7, 2016
sv_user.c Add caller tracking for Cbuf_AddText Feb 10, 2015
sys.h D_PolysetCalcGradients optimized via inside3d tute by MK. Aug 28, 2013
version.bat
vid.h Increase video mode slots from 21 to 27. Jul 30, 2014
view.c more vwep offset tweaks Nov 17, 2016
view.h finishing up GPL V3 message Sep 9, 2012
wad.c minor comment cleanup, move SVN host back to sourceforge Dec 17, 2012
wad.h various header and type cast corrections from Levent. Jul 5, 2014
world.c various header and type cast corrections from Levent. Jul 5, 2014
world.h finishing up GPL V3 message Sep 9, 2012
zone.c bsp2 Dec 23, 2014
zone.h bsp2 Dec 23, 2014

README.md

qbism Super8 build 288

The goal of Super8 is to expand the capabilities of authentic 8-bit rendering to play contemporary Quake maps: epic environments, hundreds of monsters, crunchy pixelated graphics. The source code is forked from Makaqu with enhancements from other open source Quake engine projects, plus a few original ideas.

Super8 is developed in Windows 7 and is occasionally tested in Linux under Wine. Windows 10, 8, XP, and Vista are reported to run it by users.

Thanks to everyone who gave feedback on the test builds from the color-overhaul experiments leading up to now!

New in build 288 —————————————————— Individual water, slime, and lava transparency like other modern engines. Console variables: r_wateralpha, r_slimealpha, r_lavaalpha

More video modes available. In the video menu, modes are listed in descending resolution, with high-res modes first. The menu is still limited to 40 modes shown, however, actual available is increased to 200. To see other modes type vid_describemodes in the console. Set vid_mode manually in the console to set a mode that doesn't fit in the menu.

Other relatively recent stuff ———————————————————————————————— more accurate color rendition.

r_saturation - cvar for map colored lighting intensity.

Set nativeaspect for all modes (including windowed modes now)

pixel doubling - for extra chunkiness (and render speed) automatically generate pixel-doubled option for compatible video modes. These resolutions are listed with an 'S' in the video mode menu.

Resolution support up to 4K, but not fully tested.

cl_beams_quakepositionhack - cvar to turn off automatic centering of lighting bolts. For mods that want an off-center bolt effect.

Automatic unvised map detection thanks to Mark V source. If water was created opaque (like classic Quake maps) transparency is turned off. BUT to 'fake it', toggle r_novis and sv_novis cvars to 1.

r_novis - make water and similar textures transparent on old 'unvised' maps.

sv_novis - don't cull any items serverside. Normally the server culls most items that are hidden behind walls or opaque liquids.

Add tab-completion to loadpalette and r_palette.

Cheats always allowed in single-player mode.

Other somewhat less recent stuff ———————————————————————————————— Gigantic bsp2 map support.

Alpha and fence textures.

Added cl_bobmodel cvar for side-to-side view model motion. Try values from 1 to 7 for variations, 0 for off. Simplified code from engoo, attributed to Sajt .

vid_nativeaspect cvar: By default, super8 will guess the native aspect from the maximum detected resolution. But if it looks wrong, set it manually with vid_nativeaspect.

Plug a few save vulnerabilities. A game can’t be saved as ‘pak0.pak’ for example.

Added help text to cvars. Type “chase_active” in the console for an example.

Added ‘status bar scale’ to video setup menu.

Added help text to cvars. Only a few are done so far. Type “chase_active” in the console for an example.

Moved super8 files to /super8 mod directory to reduce clutter. The engine will sandwich super8 between id1 and any other mod in precidence. If you have a previous version installed, pak88.pak and command_history.txt can be deleted from id1 dir. The readme and gnu3.txt can be removed from the main dir.

Added colored lighting for original ID levels to pak88 for convenience, “THE MH UNOFFICIAL 2009 ID1 LIT FILE PACK”. Thanks to mh for the definitive lits!

Statusbar, menu, and centerprint text scale based on screen resolution and sbar_scale cvar. sbar_scale is a factor of screen size, 0.0 to 1.0

sv_cullentities cvar – Reduces network traffic and cheat potential by culling entities that player can’t see. On by default.

Play mp3 music with “music” console command. Also music_stop, music_pause, music_loop. It should also play ogg but that’s untested so far. Control music volume from audio menu or bgmvolume cvar. Naming examples: ‘track01.mp3′, ‘track10.ogg’. Put tracks in /id/music/ directory, or a /music folder in a mod directory.

Freeze physics except players with cvar sv_freezephysics = 1. Requires sv_nocheats = 1. Stop action in the middle of a battle and look around.

The pak88.pak adds 21 bent palettes from Amon26. Thanks! Set includes amon26_pal01.lmp through amon26_pal21.lmp. Set “r_palette = amon26_pal21.lmp” prior to map load, or also hit “restart” if it’s after map load.

List of models not to lerp, torches and the like: r_nolerp_list

Start and stop demo record any time during gameplay. Pgup and Pgdn keys fastforward and rewind demo during playback. Video can be captured any time during gameplay or demo playback, including fastforward and rewind. Added these binds to make it handy: bind F7 capture_start bind F8 capture_stop

Smooth fisheye warping: r_fishaccel cvar. It is the change to zoom velocity per frame. For the Tormentarium video on youtube, the following binds zoom during demo playback:

alias +fishin “r_fishaccel -1.0? alias -fishin “r_fishaccel 0.0? alias +fishout “r_fishaccel 1.0? alias -fishout “r_fishaccel 0.0? bind HOME +fishin bind END +fishout

Features ———— Real 8-bit software graphics… right up to the point where it must begrudgingly convert it’s output to the actual color depth of your modern display card. Plays most modern epic Quake maps that require enhanced engine limits and extensions. “Big map” support: increased map coordinates from short to long, higher map limits, modified protocol, etc. Physics and movement fixes for a smoother experience. Colored static and dynamic lights. Reads standard .lit lighting files. Effects like scorch marks (stainmaps), fog, transparent water and particles, and skymaps. Skyboxes: Can load skyboxes in pcx format, or tga with automatic conversion to 8-bit textures. Fog: Reads fog info from maps with fog, or set with “fog” console command. Unique colored lighting support that doesn’t slow down the engine. Adust color strength with with r_clintensity. Load custom palettes. Generates colormap, alphamap and additivemap tables on-the-fly. Set a default custom palette with r_palette. High-resolution, automatically detects available modes. Modernized to play nice with weird laptop screen resolutions and Windows XP/ Vista/ 7. Record demos directly to xvid, mp4, divx, or other avi-compatible formats. Produce HD video recording suitable for Youtube. Demo fastforward and rewind. “pageup” and “pagedown” by default. Start and stop demo recording any time during a game. Start and stop video recording any time during a game or demo playback. Handy console helpers like autocomplete with the TAB key, including command line completion and map name completion. Enter ‘map *’ and TAB to list all maps. Enhanced console scrollback. Fisheye mode! [Optimize me!] Interpolated (smooth) model animation and movement. MOVETYPE_FOLLOW and MOVETYPE_BOUNCEMISSILE implemented, gives modders more features. Many DP extensions supported including: drawonlytoclient, nodrawtoclient, exteriormodeltoclient, sv_modelflags_as_effects. Fixed SV_TouchLinks and various other devious old bugs. Search code for //qbism and see qbS8src/docs for more.

Default keyboard binds and aliases —————————————— The traditional forward-backward-left-right key formation, typically W-S-A-D, is changed to R-F-D-G by default. This was so ‘S’ could be the fire key for the (discontinued) Flash version and ‘A’ could be an alt-fire or use-item if implemented in future. The arrangement seems to be an improvement on small keyboards. Flash uses left mouse click to change window focus and right click is not implemented, so mouse buttons can’t be used for fire.

When using a mod with Frikbot: In multiplayer mode ‘bot’ adds a Frikbot computer opponent, ‘removebot’ takes one away. Other binds and aliases below:

//qbism- Frikbots alias bot “impulse 100? alias addbot “impulse 100? alias bot_team2 “impulse 101? alias addbot_team2 “impulse 101? alias bot_remove “impulse 102? alias removebot “impulse 102? bind END “impulse 102? bind INS “impulse 100?

//qbism R-F-D-G instead of W-S-A-D to get fingers closer to higher number keys. bind r +forward bind R +forward //qbism Flash is case-sensitive bind f +back bind F +back bind d +moveleft bind D +moveleft bind g +moveright bind G +moveright bind e +moveup bind E +moveup bind c +movedown bind C +movedown bind s +attack bind S +attack bind t impulse 10 //next weapon bind T impulse 10 bind b impulse 12 //previous weapon bind B impulse 12

//this is video capture start/stop, works any time during gameplay or demo playback! bind F7 capture_start bind F8 capture_stop

Code credits ———— Forked from Makaqu programmed by Manoel Kasimier ToChriS Quake by Victor Luchitz engoo by Leilei enhanced WinQuake by Bengt Jardrup FitzQuake Mark V port by Baker joequake engine by Jozsef Szalontai qrack engine coded by R00k fteqw engine by Spike and FTE Team FitzQuake coded by John Fitz fisheye code from Aardappel Fixes and cleanup by Levent DarkPlaces engine by Lord Havoc GoldQuake engine by Sajt Tutorials by MH, Baker, Kryten (inside3d.com) and Fett, JTR (quakesrc.org) Quake Standards Base reference

You can’t perform that action at this time.