Squawk Crystal Space Application
Created by Seth Galbraith, also known as
"The Serpent Lord"
What it's about
I'm making a multiplayer action role-playing game.
Currently this application just tests a few ideas:
- multiple views for split-screen play
- sky box environment map
- animated 3d sprite character
Controls
Esc exit program
1 show run action
2 show stand action
3 show pain action
4 show death action
5 show attack action
6 show jump action
Upper view
up arrow tilt camera up
down arrow tilt camera down
left arrow turn camera left
right arrow turn camera right
Lower left view
w tilt camera up
s tilt camera down
a turn camera left
d turn camera right
Lower right view
i tilt camera up
k tilt camera down
j turn camera left
l turn camera right
Known Bugs
- Converting 24 bit images to 8 bit palettes is very
slow and TXTMODE=24bit doesn't work for non-lightmapped polygons.
The skybox uses 24 bit JPEG images again so it takes a long
time to start in 16 or 8 bit.
- The feild-of-view should be FrameHeight / 2 for the lower views,
but this causes a Floating Point Exception when I try to look at the sprite.
- The sprite is not centered correctly. This looks
like it's a bug in the convertor I used.
- "attack" action causes a Floating Point Exception:
_DrawPolygonFX__20csGraphics3DSoftwareR14G3DPolygonDPFX+1860, line 2130 of soft_g3d.cc
_Draw__8csSectorR12csRenderView+4186, line 553 of sector.cc
_Draw__7csWorldP11IGraphics3DP8csCameraP9csClipper+407, line 493 of world.cc7
_NextFrame__9SqkSystemll+413, line 382 of squawk.cc
_Loop__15SysSystemDriver+103, line 99 of djgpp.cc
_main+256, line 404 of squawk.cc
___crt1_startup+138
History
September 21, 1999 Seth Galbraith
- Jorrit fixed the bug where texture projection was always
centered around the middle of the screen
- I merged squawk.txt and history.txt into this document
- Changed "room" to "skybox" throughout squawk.cpp
- Added AddViewVertex method that takes relative coordinates
- two views are now always linked like a single concave view
- the other views are now always independent
- version 15
September 17, 1999 Seth Galbraith
- centers of views adjusted depending on whether the views are linked
- replaced sky box textures with big 512x512 JPEG images
- version 14
September 4, 1999 Seth Galbraith
- converted all textures to 8 bit PNG format
- disabled lighting and mipmapping for the sky box
- version 13
August 25, 1999 Seth Galbraith
- load and display an animated 3d sprite
- version 12
August 4, 1999 Eric Sunshine
- fixed problem with handling of texture manager; was allocating palette prior
to world->Prepare(), whereas it should have allocated done after
- console now latches palette colors before and after world has been prepared;
thus allowing it to be used at any time, rather than only prior to world
preparation
- background is now erased prior to activation of 3D views in order to clear
away console text which incorrectly appeared in gaps between views
- version 11
July 29, 1999 Seth Galbraith
- space bar links and unlinks view controls
- allocate palette before creating console
- version 10
July 27, 1999 Jorrit Tyberghein
- load textures from squawk.zip
- version 9
July 26, 1999 Seth Galbraith
- named sector (sectors must be named for lighting)
- added console (palette is odd, font too big)
- version 8
July 24, 1999 Seth Galbraith
- misc updates based on CVS changes
- moved stuff around, then moved it back :-)
- version 7
July 23, 1999 Seth Galbraith
- added terragen environment map textures
- version 6
July 21, 1999 Seth Galbraith
- use configuration file "squawk.cfg"
- added $(CSSCRIPT.LIB) to dependencies in squawk.mak
- version 5
July 21, 1999 Seth Galbraith
- use configuration file "squawk.cfg"
- added $(CSSCRIPT.LIB) to dependencies in squawk.mak
- version 4
Things remaining to be done
Controls
- Better keyboard and mouse handling
- Multiple controls that can be used simultaneously
- Control character rather than camera
- Gamepad and Joystick support
Cameras
- Chase cameras that follow characters
- Adjust FOV in split views
- Create SqkView class which contains multiple views,
eventually using a plain text file with information for
configuring an arbitrary number of not necessarily convex views.
(Probably described as a list of sqkViews which are described as
a list of csViews which are described as a list of 2d coordinates.
with an arbitrary number of each type of object allowed.)
Content