Content-Type: text/enriched Text-Width: 70 This is SALSA 1.0.1 =================== This is officially released on Wed, 19 May 1999 03:36:05 GMT. (dist made by sa@OYSTER) What's new in this release -------------------------- Everything If you don't read instructions ------------------------------ Please change your mind. Whats SALSA anyway? ------------------- SALSA stands for System for Animating Lifelike Synthetic Actors. I probably can't use this name, as it's (probably) copyrighted or trademarked or otherwise legaly protected by Origin. But i live in the country where we (lucky and proud) don't give a shit. Anyway back to the story... SALSA is system developed by few bright coders for Origin's 1995 title Bioforge, the system features hierarchical animation, smooth interpolation between poses and other wild stuff. (more hype can be found on Origin's web site which url i forgot, try www.ea.com->origin->classic titles) Copyright issues ---------------- Well.... this is an issue allright.. Let's put it this way: a) Everything that wasnt written by me is probably copyrighted b) Everything else isnt (see COPYING) c) Data philes are all Origin's property To clarify the situation: real.c qtr.c qtr.h mtx.c contain bits of other people's code routines: mtx.c: mtx_rotationcs is by Erich Boleyn(taken from Mesa 3-D sources) qtr.c: qtr_qtrmul_X X is the author (only one works atm though) qtr.[ch]: qtr_* is by Mikael Kalms real.c: hocus (object clamping centering code) is also by Mikael Kalms They all are somewhat modified by me Some history ------------ I allways loved this game and one (pretty bad, as it shows) day i decided to figure how it all works, besides i wanted to know what skeletonal aka hierarchical animation is like for quite some time. First texture extractor was born very soon... (thank's to Origin programmers for theyr desicion to use IFF)..................... ....................... hmmm... i think its probably not that interesting.. so let's proceed to next subject Build instructions ================== Scheme1: cygwin32 on win32 Intel + something msc compatible pray make nmake Scheme2: msc compatible on plain win32 Intel pray nmake Scheme3: plain win32 Intel + Microsoft VisualStudio 5.x, 6.x pray alot msdev dsp6x\dsp6x.dsw, F7, Alt-F4 nmake CFG=(Release/Debug depending on .dsw default build) Scheme4: isnt supported and doesnt work Note: msc building process relies on registred env variables cygwin relies on path to cygwin root in PATH, MAKE_MODE should be unix All schemes are screwed because: cygwin can't compile play: std distribution lacks GL headers and proper libopengl.a, default libopengl32.a is old and sucks remedy: Mesa 3-D grpahics library msc can't increment buildno and can't deal with symlinks remedy: some scripts maybe? watcom eeee... it doesnt work yet(if ever) last but not least: you will need python if you want to remake gnubd/rules, wc11x/rules, help.h N.B. I have no books, man pages, infos on sh, sed, grep.. So theyr usage is the result of my wild imagination and trial-error. Be careful Tested with ----------- 'uname -a; gcc -v' CYGWIN_NT-4.0 PAPAM 20.0 (0.1/1/1) 1998-11-2 05:59:57 i586 unknown Reading specs from c:\usr\cygwin~1\H-I586~1\BIN\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\specs gcc version egcs-2.91.57 19980901 (egcs-1.1 release) 'cl' Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86 Copyright (C) Microsoft Corp 1984-1997. All rights reserved. 'uname -a; gcc -v' CYGWIN_98-4.10 MALC 20.1 (0.3/1/1) 1998-12-3 20:39:18 i586 unknown Reading specs from C:\USR\CYGWIN~1\H-I586~1\BIN\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\specs gcc version egcs-2.91.57 19980901 (egcs-1.1 release) 'cl' Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. Should work in these configurations, but there are no guaruntees The code ======== The code is a horrible mess(well i don't think so, but noble reader might not accept my point of view, ok some parts really are) salsa/iff/*.[ch] - iff readers salsa/vec/*.[ch] - math stuff salsa/inc/*.h - misc include files salsa/*.[ch] - convertors, manipulators, vibrators args.c - dumbest getopt version ever msvc_test.c - OpenGL 1.[12] renderer Why the code is C? You might ask... The initial code is all in Python, but i didnt have OpenGL python bindings until few days ago, and i needed the renderer badly, so i rewrote the stuff in C++(still makes me kindof ill) and found that i cant stand this language anymore hence it all ended as C. Directory structure ------------------- gnubd - is where we keep GNU compiled intermediate files wc11x - watcom dsp6x - microsoft snake - example shape reader in python for fellow python users glaux - not distributed GL auxilary library should be in MSC and Watcom distribution (i think) salsa - [see previous topic] GLAUX ----- Possible locations: Watcom C/C++ 11 CD-ROM SDK/SAMPLES/OpenGL/GLAUX Microsoft C/C++ 5.0 somewhere within HelpSystem VisualC Samples(?) Microsoft C/C++ 6.0 MSDN(dunno about that) GLUT ---- Should be fairly easy to do a switch from GLAUX to GLUT but, i dont want to do it: GLUT doesnt like my ICD(or the weird way i use it) [The very first version of this used MGL/MESA/GLUT (watcom/dos)] Conclusion ========== I'm not much of 3-D dude (not much of an english writer either, but i think you already noticed), in fact last 3-D related thing i did was silly little heightfield renderer in mid 98, and first/last polygonal based code was done in 96. Dont blame me(poor Delphi/DB monkey) too much. Credits ======= This work wouldnt be possible without help of few fine people. Thank yous going to: Antony Sitnikov - for support Mikael Kalms - for quatmath.[ch] and friendly way about people Roman Kireev - for 3dfx (sorry dood :) Nick Bobick - for quaternion article Guido van Rossum - for Python which rules the earth Rex 'DeathStar' Guo Yiwei - for everything Carlos 'pel' Hasan - for being a good friend (and patient one) Brian Paul - for some pieces of Mesa 3-D Erich Boleyn - for mtx_rotation code Disorder handshakes ------------------- Skal, Unreal, Ex, Coderipper, dAS, Action, Vastator, pGeist, Ms.Saigon, middy, lnx, TCMAN, greco, dvb, frenzy, Gaffer, Loblin, Raster, df, lovex, Harmless, HeadSoft, Ghyll, lessy, tmk, Adept, Adok, Crest, ED_Lead, icepick, Mr.Z, Reptile, Multiplex, fall, Ravian, Sagacity, salami, shock, The Joker, toshka, whizzter, zensunni, codex, [Wog|Zog|Carmody|Tan|Warezpimp], ica, Kneebiter, M.Bimba, mali, mcbyte, nix, Solar_Diz, xls, Zed #coders Signature ========= Sincerely Yours, Me. P.S. It was an intent not to correct this document with authomatic or human based spell checker. (Liar, liar.. face it you just dont have spell and M-x spell-buffer doesnt work :) # LocalVaribles: # language: english-coders # incarnation: 3 # End: