Commit graph

66 commits

Author SHA1 Message Date
Fatbag
2c5957928a Fixed BMP->PNG conversion in iff2html; this has been lacking BGR->RGB conversion since I adopted OptiPNG. 2012-06-16 14:00:13 -05:00
Fatbag
dd15e0d42a Added BHAV parsing and displaying, and started using the transparent color field in SPR2 chunks to remove the magenta background in some sprites. 2012-06-15 20:45:11 -05:00
Fatbag
e51ce26db9 Added support for SPR2, DGRP, and OBJf in the iff library and in iff2html. 2012-06-15 10:18:12 -05:00
Fatbag
bc978bfa0b * Rewrote all of the chunk parsers to use a bytestream reader. Most noticeably, all of the string-reading code is shared now, and all of the "Size -="s have been taken out.
* Condensed STR# reading of formats 0, -1, -2, and -4 together.
* The STR# parser now supports "formatless" format 0 STR# chunks.
* Made all of the command-line tools cross-platform; replaced file IO with fopen()/etc, and replaced time measurement with clock(). There is no longer a dependency on Windows.h.
* Added a "Server GUI" folder to tools. Niotso Server will basically be a background daemon., and communication would "normally" be through the command line until you run a GUI.
2012-06-14 09:19:13 -05:00
Fatbag
cb40cbd867 Shaved off about 5MB from freetype. It's far larger than any other library I'm pulling in. 2012-06-12 03:31:12 -05:00
Fatbag
10827bf2df Added libpq to the Libraries folder. Finally, I have been waiting for this day. libpq is seriously unready out of the box; you have to edit 3 header files to get it to work outside the PostgreSQL build environment.
Also, in iff2html, the directory name no longer appears as part of the IFF's file name on the web page.
2012-06-04 22:27:28 -05:00
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