More md2 improvements
[lodematron.git] / lodematron-test.lisp
blob7f9aa60ac3621785055a903115d48a8c3aa5a0ab
2 (asdf:oos 'asdf:load-op 'mixamesh)
3 (asdf:oos 'asdf:load-op 'lodematron)
5 (in-package :lodematron)
8 ;; test code
10 (defparameter *md2-file* (open (merge-pathnames #P"dalekx/tris.md2")
11 :direction :input
12 :element-type '(unsigned-byte 8)))
14 (defparameter *header* (read-value :md2-header *md2-file*))
16 (defparameter *uvs* (parse-md2-uvs (uv-offset-of *header*) (nuvs-of *header*) *md2-file*))
18 (defparameter *tris* (parse-md2-triangles (tris-offset-of *header*) (ntris-of *header*) *md2-file*))
20 (defparameter *frames* (parse-md2-frames (frames-offset-of *header*)
21 (nframes-of *header*)
22 (framesize-of *header*)
23 (nvertices-of *header*) *md2-file*))
26 (format *debug-io* "~D Skins ~D Vertices ~D UVS ~D Tris"
27 (nskins-of *header*)
28 (nvertices-of *header*)
29 (nuvs-of *header*)
30 (ntris-of *header*))
32 (defparameter *test-mesh* (make-instance 'simple-mesh))
34 (defparameter *test-md2* (parse-md2-file *md2-file*))
37 (pose *test-md2* *test-mesh* "dalek042" "someskin")
38 (repose *test-md2* *test-mesh* "dalek043" "someskin")
41 (close *md2-file*)
43 (defparameter *pcx-file* )
45 (defparameter *pcx-header* (read-value :pcx-header *pcx-file*))
47 (defparameter *pcx-data* (decode-8bit *pcx-file* (bytes-per-line-of *pcx-header*) (- (ymax-of *pcx-header*) (ymin-of *pcx-header*))))
49 (defparameter *pcx-palette* (extract-palette *pcx-file*))
51 (parse-pcx-file *pcx-file*)
53 (close *pcx-file*)