Commit graph

60 commits

Author SHA1 Message Date
Fatbag
4b395ba3ad Fixed SPR# version 1001 seeking; you have to count up the sprites in the file manually. 2012-05-31 17:54:15 -05:00
Fatbag
ec45a6ce82 The iff parsing code now accepts SPR# chunks with a "blank sprite", one that has zero dimensions. 2012-05-31 07:38:10 -05:00
Fatbag
31282d91f2 Corrected row_pointers passed to libpng for SPR# images; they're top-down, not bottom up. 2012-05-31 06:49:02 -05:00
Fatbag
1a9433163b Fixed a BGR->RGB swapping incompatibility with OptiPNG, which is even stated at the top of the file. Due to the state that it leaves libpng, and the fact that the libpng API offers no way to look at the transformed pixel data, this conversion must be done on the pixel data manually. 2012-05-30 00:04:41 -05:00
Fatbag
aced66a7af Added OptiPNG's opngreduc.c functionality to iff2html. The results are fantastic for typical SPR# images, reducing images to about half the size they were before.
On diner_steel2:
113073 bytes -> 57004 bytes; 57004/113073= 0.5041 or 50% original size
2012-05-29 23:26:57 -05:00
Fatbag
67fa76c747 Added Propeng's tsoscan, and removed old files from libpng and zlib 2012-05-28 23:51:49 -05:00
Fatbag
1f7061d98a * Updated libpng and zlib
* Added SPR# parsing to the iff library
* iff2html now displays BMP_/FBMP, PALT, and SPR# chunks
2012-05-28 23:37:38 -05:00
Fatbag
78f1ca1d6f Fixed Pascal string reading in GLOB chunks 2012-05-25 16:44:44 -05:00
Fatbag
62ad3dfc4f Added PALT viewing to iff2html 2012-05-25 15:48:09 -05:00
Fatbag
783227a630 Added FCNS, GLOB, TMPL, and rsmp parsers to the iff library 2012-05-24 01:53:56 -05:00
Fatbag
bc51bb4aad * License header formatting change
* New IFF chunk formats supported: CST, FBMP, CATS
* Rebranded libfar to simply far
* Started preliminary work on the hitutils package
2012-05-21 23:27:44 -05:00
Fatbag
55659f43b5 * Libraries are now being compiled only as static or as shared, not both, quickening the compile process.
* Implemented the rewrite of the iff library, submitted by Propeng. The linked list has been completely replaced with vectors or normal arrays.
* Started work on the cur and tga parsers
2012-04-29 00:44:41 -05:00
Fatbag
5c7a36592e Client: Separated the LoginScreen scene away from Scene.hpp, so it's compiled once as its own translation unit.
FileHandler: Added read support for XA, UTK, and MP3 to File::ReadSoundFile.
2012-04-22 03:52:39 -05:00
Fatbag
06f13d50ac Graphics: Added font rendering functions Graphics::DrawText and Graphics::StringImage.
FileHandler: Added support for wav
Audio: Added support to play back a sound with XAudio2. We can't delete sounds until we make our own system to keep track of available voices.
LoginScreen scene: Upped framerate from 15fps to tickless, and added new logic to clone the scrolling text at the bottom. All of it.
2012-04-20 19:37:08 -05:00
Fatbag
64a5c0a425 Reverted to the original GetLastError() method for CreateMutex(), as, it turns out, Microsoft lied. Even when the function fails, it returns non-NULL. 2012-04-13 23:16:34 -05:00
Fatbag
c5117169b9 Just learned that PostThreadMessage(ThreadID, WM_QUIT, 0, 0) works while PostQuitMessage(0) does not. Fixed an issue where, if the system fails before the window is created, the message loop thread is never killed. 2012-04-13 23:08:36 -05:00
Fatbag
4294cb41f7 Split off the Windows message handler into a separate thread. 2012-04-13 22:55:13 -05:00
Fatbag
d9afae7022 I forgot to add the new file. 2012-04-10 00:07:25 -05:00
Fatbag
7a5124a687 Added Graphics::DrawText which can draw text on to an image with alignment. No multi-line support yet. 2012-04-09 23:58:16 -05:00
Fatbag
7d9259b63d Added eagames.bmp reading to the LoginScreen scene.
Added BCON parsing functionality contributed by Propeng.
2012-04-08 12:20:25 -05:00
Fatbag
cb751c0bb8 Removed changes by Nicholas. These will need to be re-submitted through Trac and manually validated.
Added BMP (24-bit uncompressed, 8-bit uncompressed, and RLE8) and PNG support to File::ReadImageFile(). So far everything in FileHandler is presumed to be safe with any input file except UTK decompression.

Also started making use of the static keyword in various places to aid the compiler in optimization.
2012-04-06 13:27:40 -05:00
thnor
7442579090 Commits disappearing? Test... 2012-04-05 18:15:01 -05:00
thnor
2a87e619ae Sprite formats are now completely supported (PNGs work great too)!
The sprite loader code has been prettied up and rennovated quite a bit.

*NOTE: Fatbag, TSO sometimes has palette (PALT) resources that are not the same
as those described at simtec. Since you want to do the real figuring out, well,
have fun :)
2012-04-05 00:50:46 -05:00
thnor
6c85920535 Support for sprites was added to libiff.
Support for SPR# and SPR2 was added to iff2html.

*NOTE: The default exporter used is the PNG one, since web browsers
don't like targa. However, since there is a bug in my PNG exporter, I would
recommend that you use the targa exporter for a precise representation of the
loaded sprite frame(s). Feel free to fix the PNG exporter, btw :)
2012-04-04 00:24:25 -05:00
rothn
02dff475c8 Added BHAV support to FileHandler and iff2html
Split "chunk.c" functionality into bhav.h, bhav.c, stbl.h, stbl.c
2012-04-02 20:07:46 -05:00
Fatbag
4442056335 Added libmpg123 to FileHandler. This and libjpeg-turbo are now being assembled by GCC and NASM, respectively.
BMP support will be coming next.
2012-03-25 20:51:30 -05:00
Fatbag
705da4ba5c Realized I had forgotten to initialize the UserInput struct to 0. 2012-03-21 21:31:46 -05:00
Fatbag
551f3c834f Proper scene logic, whoo! 2012-03-21 20:58:06 -05:00
Fatbag
2e7f3b24ca New Scene class definition. Also fixed a compile error for some users involving the definition of IID_IXAudio2 2012-03-21 20:00:22 -05:00
Fatbag
8bb608d5ce Fully functional cst parser.
New client code for Windows. The window does not appear until the OpenGL rendering context has completely initialized and (one day) has the first frame ready to draw.
2012-03-18 23:06:08 -05:00
Fatbag
b746dbe407 Fixed random garbage produced by iff2html with personglobals.iff due to one of the STR# chunks (animation) not specifying its PairCount.
Also added filesize and md5 statistics and support for CTSS, FAMs, and TTAs chunks.
2012-03-13 18:58:17 -05:00
Fatbag
64fddcf78e iff2html is working and can properly parse STR# chunks.
I also added my TSOSimulatorClient work to the trunk.
2012-03-13 00:12:27 -05:00
Fatbag
a4a7b82bb7 Added prerelease version of libvitaboy 1.0.1 2012-03-10 14:56:32 -06:00
Fatbag
432d12397c Made the iffexport utility (design based on libfar), added in an HTML5 z-buffer renderer, and made tags for libfar 1.0.0 and libvitaboy 1.0.0. 2012-03-04 13:28:34 -06:00
Fatbag
f23bcd7b4d Added libjpeg-turbo to FileHandler with a working File::ReadImageFile() function. The dependency on SOIL in libvitaboy Renderer has therefore been removed.
Also fixed formatting in recent source files.

My next task is implementing IFF chunk reading. I'll also make a tool that can convert the game's behavior.iff file to an HTML page.
2012-02-27 02:55:53 -06:00
Fatbag
83ad5d89d1 Aside from adding the new source files for libjpeg-turbo, added SLERP quaternion interpolation to libvitaboy Renderer.
The renderer is also making use of the new File::ReadFile() interface added to the FileHandler library.
2012-02-22 16:25:23 -06:00
Fatbag
7bf2669441 Detects system refresh rate; also detects system resolution when entering fullscreen. Will also update these values when the user changes the display settings.
Also updated libjpeg-turbo. Will be working on FileHandler next, so we can get rid of the dependency on SOIL.
2012-02-20 12:11:47 -06:00
Fatbag
3aea20fa94 100% working time synchronization and skeletal animation interpolation 2012-02-19 22:54:20 -06:00
Fatbag
ad9054fbd7 Added instructions for libvitaboy Renderer to Renderer.cpp 2012-02-19 11:00:10 -06:00
Fatbag
6df7a494a1 Fixed writing to Skeleton.Bones[-1] when FindBone() returns -1 because, say, PELVISPOLY does not exist 2012-02-19 01:00:11 -06:00
Fatbag
e3f6880ed2 Working animations, albeit without time synchronization; will run too fast, but working nevertheless 2012-02-19 00:15:34 -06:00
Fatbag
b05b32d5f5 libvitaboy: added missing file 2012-02-13 20:55:44 -06:00
Fatbag
048a5ca2b2 libvitaboy: Completely working model renderer. No animation as of yet. 2012-02-13 20:55:19 -06:00
Fatbag
860f67d522 Working skeleton parser and "renderer", though at the moment the body mesh does not map correctly on to the skeleton. 2012-02-07 15:49:09 -06:00
Fatbag
c3e5da64f3 Corrected 2 hopefully last behaviors in libvitaboy Renderer:
* The texture now blends the way it should (switched GL_CLAMP_TO_EDGE to GL_REPEAT)
 * The Shannon texture showed the face was being mirrored
2012-02-05 22:00:17 -06:00
Fatbag
1df1cf0244 Flipped z/x and up/down keyboard buttons into the correct places on the libvitaboy renderer. 2012-02-05 21:17:48 -06:00
Fatbag
a134def031 Working head renderer, with pixel-perfect results. As for bodies, all appendages are rendered in the same place... 2012-02-05 21:02:28 -06:00
Fatbag
008363ce8f Placing the _build folder in .hgignore so I don't have to rebuild and reupload the binaries.
Also fixed a bug in .anim parsing in vbparse.
2012-02-04 16:04:40 -06:00
Fatbag
aa9ef65d64 Various library changes 2012-02-04 01:19:52 -06:00
Fatbag
74169b403b Added ANIM parsing code. Lots of printf()s for now, to be rewritten later. 2012-02-04 01:19:15 -06:00