dosdemo
6 years ago- added optimization notes in readme
John Tsiombikas [Mon, 12 Feb 2018 04:54:39 +0000 (06:54 +0200)]
- added optimization notes in readme
- added cpuid instruction for serializing/flushing cpu state before
  taking rdtsc measurements
- moved perf variables to util.c to silence watcom warnings

6 years agoadded perf_start/perf_end assembly macros
John Tsiombikas [Sun, 11 Feb 2018 08:05:49 +0000 (10:05 +0200)]
added perf_start/perf_end assembly macros

6 years agoattempt to use new mikmod for djgpp build
John Tsiombikas [Sat, 10 Feb 2018 19:56:45 +0000 (21:56 +0200)]
attempt to use new mikmod for djgpp build

6 years ago- added rules for building asm code in the gcc makefiles
John Tsiombikas [Sat, 10 Feb 2018 19:10:26 +0000 (21:10 +0200)]
- added rules for building asm code in the gcc makefiles
- fixed missing parenthesis in PACK_RGB16

6 years ago- added blur in gfxutil
John Tsiombikas [Sat, 10 Feb 2018 12:04:24 +0000 (14:04 +0200)]
- added blur in gfxutil
- fixed 3dgfx to use the framebuffer set by g3d_framebuffer
- trying a variant of the greets effect with a frame by frame blur

6 years agoadding fast blur function
John Tsiombikas [Fri, 9 Feb 2018 01:03:47 +0000 (03:03 +0200)]
adding fast blur function

6 years agochanged the DJGPP makefiles to use different suffixes for intermediate
John Tsiombikas [Thu, 8 Feb 2018 07:46:37 +0000 (09:46 +0200)]
changed the DJGPP makefiles to use different suffixes for intermediate
build files (.cof instead of .o, .dep instead of .d, and .dja instead of
.a), to make it possible to build both the linux and the dos version in
the same directory without conflict.

6 years agofixed point drawing in 3dgfx and added new greets screen
John Tsiombikas [Thu, 8 Feb 2018 07:16:00 +0000 (09:16 +0200)]
fixed point drawing in 3dgfx and added new greets screen

6 years agofixed mistake in the DJGPP version of dpmi_alloc
John Tsiombikas [Tue, 6 Feb 2018 22:56:32 +0000 (00:56 +0200)]
fixed mistake in the DJGPP version of dpmi_alloc

6 years ago- instructed gcc to emit only pentium1 instructions
John Tsiombikas [Tue, 6 Feb 2018 21:47:34 +0000 (23:47 +0200)]
- instructed gcc to emit only pentium1 instructions
- moved wait_vsync into an assembly macro in gfx.h

6 years agoforgot to undef the debugging NOKEYB macro
John Tsiombikas [Tue, 6 Feb 2018 18:47:24 +0000 (20:47 +0200)]
forgot to undef the debugging NOKEYB macro

6 years agobuilds with djgpp but crashes
John Tsiombikas [Tue, 6 Feb 2018 03:42:44 +0000 (05:42 +0200)]
builds with djgpp but crashes

6 years agoadding polyclip.obj to the watcom makefile
John Tsiombikas [Sun, 4 Feb 2018 18:48:46 +0000 (20:48 +0200)]
adding polyclip.obj to the watcom makefile

6 years agoclipping bugs...
John Tsiombikas [Sat, 3 Feb 2018 22:44:45 +0000 (00:44 +0200)]
clipping bugs...

6 years ago- clipper debugging
John Tsiombikas [Fri, 2 Feb 2018 12:00:35 +0000 (14:00 +0200)]
- clipper debugging
- fixed branches based on uninitialized variables in polyfiller
- added g3d_viewport function

6 years agooptimized the metaballs slightly 3fps -> 5fps and fixed the zsorting bug
John Tsiombikas [Thu, 1 Feb 2018 01:01:22 +0000 (03:01 +0200)]
optimized the metaballs slightly 3fps -> 5fps and fixed the zsorting bug

7 years agoStill not what I wanted to achieve, just wanted to test how the whities look when...
Michael Kargas [Thu, 20 Oct 2016 18:53:19 +0000 (19:53 +0100)]
Still not what I wanted to achieve, just wanted to test how the whities look when they are gathered together.

7 years agoupdated vs project
John Tsiombikas [Wed, 19 Oct 2016 21:32:05 +0000 (00:32 +0300)]
updated vs project

7 years agoupdated the dos makefile
John Tsiombikas [Wed, 19 Oct 2016 21:26:08 +0000 (00:26 +0300)]
updated the dos makefile

7 years agometaballs
John Tsiombikas [Wed, 19 Oct 2016 21:16:53 +0000 (00:16 +0300)]
metaballs

7 years agoMerge branch 'master' of goat:git/dosdemo
John Tsiombikas [Wed, 19 Oct 2016 20:56:47 +0000 (23:56 +0300)]
Merge branch 'master' of goat:git/dosdemo

7 years agoadded serial spaceball support in the dos version. can be used for
John Tsiombikas [Wed, 19 Oct 2016 17:15:53 +0000 (20:15 +0300)]
added serial spaceball support in the dos version. can be used for
debugging or even animation recording for 3D objects.

7 years agometaballs effect
John Tsiombikas [Wed, 19 Oct 2016 01:57:36 +0000 (04:57 +0300)]
metaballs effect

7 years agomoving the vertices with a sine
Michael Georgoulopoulos [Mon, 17 Oct 2016 10:53:54 +0000 (13:53 +0300)]
moving the vertices with a sine

7 years agoFog and sorting
Michael Georgoulopoulos [Sun, 16 Oct 2016 23:26:16 +0000 (02:26 +0300)]
Fog and sorting

7 years agoMany thunders from origin to random points on a rotating sphere
Michael Georgoulopoulos [Sun, 16 Oct 2016 20:43:56 +0000 (23:43 +0300)]
Many thunders from origin to random points on a rotating sphere

7 years agoOh no
Michael Georgoulopoulos [Sun, 16 Oct 2016 13:20:28 +0000 (16:20 +0300)]
Oh no

7 years agoRender thunder recursively
Michael Georgoulopoulos [Sun, 16 Oct 2016 13:12:16 +0000 (16:12 +0300)]
Render thunder recursively

7 years agoThunder... thunder... THUNDER SCREEN! HOOOOOOOOOOOOO
Michael Georgoulopoulos [Sat, 15 Oct 2016 23:13:45 +0000 (02:13 +0300)]
Thunder... thunder... THUNDER SCREEN! HOOOOOOOOOOOOO

7 years agoMerge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo
Michael Georgoulopoulos [Sat, 15 Oct 2016 21:44:43 +0000 (00:44 +0300)]
Merge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo

7 years agoremoved the empty stop function from grise.c (I feel like I did that
John Tsiombikas [Tue, 11 Oct 2016 12:29:49 +0000 (15:29 +0300)]
removed the empty stop function from grise.c (I feel like I did that
before)

7 years agoNot exactly what I want to achieve here, just keeping this code now. The smaller...
Michael Kargas [Mon, 10 Oct 2016 21:25:51 +0000 (22:25 +0100)]
Not exactly what I want to achieve here, just keeping this code now. The smaller the particles the more fuzzy or I have to dump down the offsetPower variable.

7 years agoadded polygon clipper, not using it yet
John Tsiombikas [Sun, 9 Oct 2016 06:29:21 +0000 (09:29 +0300)]
added polygon clipper, not using it yet

7 years agogitignore VS project user settings
Michael Georgoulopoulos [Wed, 5 Oct 2016 16:13:10 +0000 (19:13 +0300)]
gitignore VS project user settings

7 years agoremoved drawFps from grise as it's now part of the main demo code
John Tsiombikas [Wed, 5 Oct 2016 01:27:58 +0000 (04:27 +0300)]
removed drawFps from grise as it's now part of the main demo code

7 years agoMerge branch 'master' of goat:git/dosdemo
John Tsiombikas [Wed, 5 Oct 2016 01:20:29 +0000 (04:20 +0300)]
Merge branch 'master' of goat:git/dosdemo

7 years agomoved the drawFps call to the backends so it works automatically for
John Tsiombikas [Wed, 5 Oct 2016 01:19:46 +0000 (04:19 +0300)]
moved the drawFps call to the backends so it works automatically for
any part

7 years agoMerge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo
Michael Georgoulopoulos [Tue, 4 Oct 2016 23:40:47 +0000 (02:40 +0300)]
Merge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo

7 years agoRemoved division in displacement inner loop
Michael Georgoulopoulos [Tue, 4 Oct 2016 23:40:34 +0000 (02:40 +0300)]
Removed division in displacement inner loop
Stole Optimus' FPS counter as an extern

7 years agoSDL backend set the mouse button bitmask incorrectly
John Tsiombikas [Tue, 4 Oct 2016 23:08:17 +0000 (02:08 +0300)]
SDL backend set the mouse button bitmask incorrectly

7 years agoremoved empty stop functions from bump and plasma to avoid delaying the
John Tsiombikas [Tue, 4 Oct 2016 16:10:00 +0000 (19:10 +0300)]
removed empty stop functions from bump and plasma to avoid delaying the
transitions

7 years agochanged the tunnel rotation to match the smaller texture
John Tsiombikas [Tue, 4 Oct 2016 16:05:36 +0000 (19:05 +0300)]
changed the tunnel rotation to match the smaller texture

7 years agoadded missing open flags and mode in init_logger
John Tsiombikas [Tue, 4 Oct 2016 05:09:09 +0000 (08:09 +0300)]
added missing open flags and mode in init_logger

7 years agooptional high-quality but slower calculation of attribute slopes across
John Tsiombikas [Tue, 4 Oct 2016 04:47:51 +0000 (07:47 +0300)]
optional high-quality but slower calculation of attribute slopes across
each scanline, and extra color bits during interpolation.

7 years agoDOS logger now redirects stdout/stderr instead of providing a new
John Tsiombikas [Tue, 4 Oct 2016 03:19:10 +0000 (06:19 +0300)]
DOS logger now redirects stdout/stderr instead of providing a new
logging function

7 years agoadded texture mapping
John Tsiombikas [Tue, 4 Oct 2016 03:00:26 +0000 (06:00 +0300)]
added texture mapping

7 years agofixed build on macosx
John Tsiombikas [Mon, 3 Oct 2016 07:58:17 +0000 (10:58 +0300)]
fixed build on macosx

7 years agosplit the polyfiller to a preprocessor-based template file, included
John Tsiombikas [Mon, 3 Oct 2016 07:24:08 +0000 (10:24 +0300)]
split the polyfiller to a preprocessor-based template file, included
multiple times in polyfill.c to instanciate all the variants. currently
fully implemented are: flat and gouraud.

7 years agoadded dependency tracking to the GNU makefile
John Tsiombikas [Mon, 3 Oct 2016 06:40:03 +0000 (09:40 +0300)]
added dependency tracking to the GNU makefile

7 years agoforgot to conditionally include malloc.h for alloca on watcom and msvc
John Tsiombikas [Mon, 3 Oct 2016 05:23:00 +0000 (08:23 +0300)]
forgot to conditionally include malloc.h for alloca on watcom and msvc

7 years agouse the fast double->int conversion in 3dgfx.c
John Tsiombikas [Mon, 3 Oct 2016 05:09:59 +0000 (08:09 +0300)]
use the fast double->int conversion in 3dgfx.c

7 years agoadded lighting
John Tsiombikas [Mon, 3 Oct 2016 04:41:39 +0000 (07:41 +0300)]
added lighting

7 years agomuch better, not perfect
John Tsiombikas [Mon, 3 Oct 2016 03:41:01 +0000 (06:41 +0300)]
much better, not perfect

7 years agosucks, maybe I should try integer rasterization with error accumulation...
John Tsiombikas [Sun, 2 Oct 2016 19:09:29 +0000 (22:09 +0300)]
sucks, maybe I should try integer rasterization with error accumulation...

7 years agofixed illegal access in bump.c
John Tsiombikas [Sun, 2 Oct 2016 19:08:34 +0000 (22:08 +0300)]
fixed illegal access in bump.c

7 years agoMerge branch 'master' of goat:git/dosdemo
John Tsiombikas [Sun, 2 Oct 2016 09:06:35 +0000 (12:06 +0300)]
Merge branch 'master' of goat:git/dosdemo

7 years agosetting up to improve the rasterizer
John Tsiombikas [Sun, 2 Oct 2016 09:05:41 +0000 (12:05 +0300)]
setting up to improve the rasterizer

7 years agopolyfill debugging mode
John Tsiombikas [Sat, 1 Oct 2016 12:27:47 +0000 (15:27 +0300)]
polyfill debugging mode

7 years agoAdded boundary checks for lights, made lights bigger, moved TinyFPS to bottom of...
Michael Kargas [Thu, 29 Sep 2016 21:51:13 +0000 (22:51 +0100)]
Added boundary checks for lights, made lights bigger, moved TinyFPS to bottom of the screen since the lack of double buffering atm, made this flickering badly in DOS and almost unreadable. I could have used a back buffer and then render all to main buffer but I'd rather wait for the double buffering fix for now :)

7 years agoAdded erase area function for lights, with boundaries (which I will also add to rende...
Michael Kargas [Wed, 28 Sep 2016 21:15:28 +0000 (22:15 +0100)]
Added erase area function for lights, with boundaries (which I will also add to render lights soon)

7 years agoWorking on bump effect. I have more ideas for it, the way I made this, the lightmap...
Michael Kargas [Tue, 27 Sep 2016 21:34:44 +0000 (22:34 +0100)]
Working on bump effect. I have more ideas for it, the way I made this, the lightmap is like a canvas where you add lights and I will add some more cool stuff I have in mind.

7 years agobump.c: memset is in string.h
John Tsiombikas [Sun, 25 Sep 2016 23:10:24 +0000 (02:10 +0300)]
bump.c: memset is in string.h

7 years agoMerge branch 'master' of goat:git/dosdemo
John Tsiombikas [Sun, 25 Sep 2016 23:08:55 +0000 (02:08 +0300)]
Merge branch 'master' of goat:git/dosdemo

7 years agoAdded special make rule for music.c, because since it contains a mikmod
John Tsiombikas [Sun, 25 Sep 2016 23:07:06 +0000 (02:07 +0300)]
Added special make rule for music.c, because since it contains a mikmod
callback, which might be called from an interrupt, it must be compiled
with -zu

7 years agofixed the openwatcom compatibility issue produced by OW wasm emitting
John Tsiombikas [Sun, 25 Sep 2016 22:46:54 +0000 (01:46 +0300)]
fixed the openwatcom compatibility issue produced by OW wasm emitting
leading underscores in front of public symbols.

7 years agoForgot the makefile change
Michael Kargas [Sun, 25 Sep 2016 13:55:15 +0000 (14:55 +0100)]
Forgot the makefile change

7 years agoBump effect added. This is unfinished, nothing to see here yet, just commiting initia...
Michael Kargas [Sun, 25 Sep 2016 13:48:26 +0000 (14:48 +0100)]
Bump effect added. This is unfinished, nothing to see here yet, just commiting initialization to work later on it.

7 years agoSDL backend: toggle fullscreen with 'f'
John Tsiombikas [Wed, 21 Sep 2016 04:47:27 +0000 (07:47 +0300)]
SDL backend: toggle fullscreen with 'f'

7 years agoturned on mixing interpolation in the SDL version too
John Tsiombikas [Tue, 20 Sep 2016 06:18:12 +0000 (09:18 +0300)]
turned on mixing interpolation in the SDL version too

7 years agoadded cfgopt to the dos makefile music
John Tsiombikas [Tue, 20 Sep 2016 06:00:32 +0000 (09:00 +0300)]
added cfgopt to the dos makefile

7 years agough ...
John Tsiombikas [Tue, 20 Sep 2016 05:56:56 +0000 (08:56 +0300)]
ugh ...

7 years agoupdated .gitignore
John Tsiombikas [Tue, 20 Sep 2016 05:47:35 +0000 (08:47 +0300)]
updated .gitignore

7 years ago- added config file and commandline parsing
John Tsiombikas [Tue, 20 Sep 2016 05:46:50 +0000 (08:46 +0300)]
- added config file and commandline parsing
- removed the weird CAFE mechanism now that we have a config file

7 years agoturned on mod player mixer interpolation, doesn't make much difference
John Tsiombikas [Tue, 20 Sep 2016 04:29:30 +0000 (07:29 +0300)]
turned on mod player mixer interpolation, doesn't make much difference
on framerate

7 years agobuild mikmod and the music code on windows
John Tsiombikas [Tue, 20 Sep 2016 04:27:25 +0000 (07:27 +0300)]
build mikmod and the music code on windows

7 years agofixed music playback in dos
John Tsiombikas [Tue, 20 Sep 2016 02:27:04 +0000 (05:27 +0300)]
fixed music playback in dos

7 years agoforgot to write the music update function
John Tsiombikas [Tue, 20 Sep 2016 00:11:05 +0000 (03:11 +0300)]
forgot to write the music update function

7 years agoadded an old version of mikmod for dos
John Tsiombikas [Mon, 19 Sep 2016 23:42:10 +0000 (02:42 +0300)]
added an old version of mikmod for dos

7 years agomusic playback works on GNU/Linux
John Tsiombikas [Mon, 19 Sep 2016 21:48:21 +0000 (00:48 +0300)]
music playback works on GNU/Linux

7 years agoadd mikmod source
John Tsiombikas [Mon, 19 Sep 2016 02:58:51 +0000 (05:58 +0300)]
add mikmod source

7 years agofixed bug introduced by moving the loop variables out of the for loops
John Tsiombikas [Mon, 19 Sep 2016 01:16:05 +0000 (04:16 +0300)]
fixed bug introduced by moving the loop variables out of the for loops

7 years agofixing C compatibility problems
John Tsiombikas [Mon, 19 Sep 2016 01:00:38 +0000 (04:00 +0300)]
fixing C compatibility problems

7 years agoHey! Not fair!
Michael Georgoulopoulos [Sun, 18 Sep 2016 23:00:44 +0000 (02:00 +0300)]
Hey! Not fair!

7 years agoMerge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo
Michael Georgoulopoulos [Sun, 18 Sep 2016 22:59:08 +0000 (01:59 +0300)]
Merge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo

7 years agoFunction that distributes the streaks in an rle scanline so that non-overlapping...
Michael Georgoulopoulos [Sun, 18 Sep 2016 22:58:58 +0000 (01:58 +0300)]
Function that distributes the streaks in an rle scanline so that non-overlapping streaks from the previous scanline will not be interpolated (total hack)

7 years agoUse pointers instead of structs to handle rleBitmap objects
Michael Georgoulopoulos [Sun, 18 Sep 2016 21:47:27 +0000 (00:47 +0300)]
Use pointers instead of structs to handle rleBitmap objects

7 years agoMy first commit in this project, just a lame plasma test effect and my tinyfps with...
Michael Kargas [Sun, 18 Sep 2016 21:26:29 +0000 (22:26 +0100)]
My first commit in this project, just a lame plasma test effect and my tinyfps with a minimal font from another project to monitor fps while the effect running

7 years agoMerge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo
Michael Georgoulopoulos [Sun, 18 Sep 2016 16:37:23 +0000 (19:37 +0300)]
Merge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo

7 years agopropeller mini-effect
Michael Georgoulopoulos [Sun, 18 Sep 2016 16:37:07 +0000 (19:37 +0300)]
propeller mini-effect

7 years agoMade RLE streak width/position scaling use fixed point + updated RLE scanline interpo...
Michael Georgoulopoulos [Sun, 18 Sep 2016 15:15:01 +0000 (18:15 +0300)]
Made RLE streak width/position scaling use fixed point + updated RLE scanline interpolator to handle blank streaks

7 years agogrise: fixed artifact due to uninitialized guard-pand in backBuffer and
John Tsiombikas [Tue, 13 Sep 2016 07:09:51 +0000 (10:09 +0300)]
grise: fixed artifact due to uninitialized guard-pand in backBuffer and
increased the performance slightly by copying the backBuffer to
vmem_back, instead of fb_pixels.

7 years agoMerge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo
Michael Georgoulopoulos [Sun, 11 Sep 2016 23:06:02 +0000 (02:06 +0300)]
Merge branch 'master' of mutantstargoat.com:/home/nuclear/git/dosdemo

Conflicts:
src/grise.c

7 years agoTest blits of RLE with scaling
Michael Georgoulopoulos [Sun, 11 Sep 2016 23:04:12 +0000 (02:04 +0300)]
Test blits of RLE with scaling

7 years agoFinished RLE thingy
Michael Georgoulopoulos [Sun, 11 Sep 2016 14:39:16 +0000 (17:39 +0300)]
Finished RLE thingy

7 years agoadded two new global pointers in demo.h: vmem_back and vmem_front, and
John Tsiombikas [Sun, 11 Sep 2016 04:47:44 +0000 (07:47 +0300)]
added two new global pointers in demo.h: vmem_back and vmem_front, and
now parts need to call swap_buffers manually. This allows the
flexibility to have some parts write to video memory directly
(vmem_back) and then do an extremely fast page-flip by calling
swap_buffers(0). Other parts that prefer to write to a system-ram
framebuffer can continue to use fb_pixels, but they now have to call
swap_buffers(fb_pixels), to copy the result to vmem_front.
vmem_back and vmem_front at the moment point to the front buffer, until
I implement VBE page flipping, and in any case they may still both
point to the front buffer if there isn't enough memory for two pages,
so don't memcpy from one to the other manually. Use swap_buffers only.

7 years agofixed watcom makefiles to avoid long command lines which wouldn't work
John Tsiombikas [Sun, 11 Sep 2016 04:45:57 +0000 (07:45 +0300)]
fixed watcom makefiles to avoid long command lines which wouldn't work
while building in MS-DOS.

7 years agofixed the outgoing transitions to not delay needlessly when there is no stop function.
John Tsiombikas [Sun, 11 Sep 2016 01:19:19 +0000 (04:19 +0300)]
fixed the outgoing transitions to not delay needlessly when there is no stop function.

7 years agoImplemented RLE compression for reflected objects
Michael Georgoulopoulos [Fri, 9 Sep 2016 21:07:43 +0000 (00:07 +0300)]
Implemented RLE compression for reflected objects

7 years agoMerge branch 'master' of goat:git/dosdemo
John Tsiombikas [Fri, 9 Sep 2016 04:20:44 +0000 (07:20 +0300)]
Merge branch 'master' of goat:git/dosdemo

7 years agoremoved mesh dump
John Tsiombikas [Fri, 9 Sep 2016 04:20:11 +0000 (07:20 +0300)]
removed mesh dump