Credits ======= First and foremost - Mikael 'Kalms' Kalms Edward 'Harmless' Kmett Andrei 'lessi' Gulin Translation services courtesy - Tom 'tmk' Motoyoshi Kalland How to run ---------- Given that your CD-ROM drive can read SOTCs disk. Copy: NICO.DAT, XAB, XAC, XAD, XAE somewhere and then invoke: $ (cd index; ./index.sh /path/to/somewhere) $ sh do.sh $ ./dormin bird_A.nmo bird_A_atk_gride.anb (just an example) After first command index/ will contain NICO.DAT.index, XAB.index, etc which are simple textual files containing names/offsets/sizes of models/textures/skeltons/animations. index/index is binary dump of those X.index files for faster loading. Or if you have a slice: $ sh do.sh $ ./dormin -index slice.idx bird_A.nmo bird_A_atk_gride.anb (just an example) Incomplete list of "borrowed" code ---------------------------------- Most of qtr.ml is based on code by Mikael Kalms from_euler: was taken from some NVidia example qapply: http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation vec.c q2matrix: from http://www.j3d.org/matrix_faq/matrfaq_latest.html swizzling code: http://playstation2-linux.com/download/p2lsd/sparkys_swizzle_code.html altivec code is based on: http://www.freevec.org/category/simd/algorithms/algebra/matrix_operations adpcm decoder is slightly modified: PSX VAG-Packer, hacked by bITmASTER@bigfoot.com with block interleave figured out by Antti Huovilainen 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, ryg #coders