Title: New packaging/IO system committed. Post by: meep-eep on July 09, 2003, 01:06:47 am I've just committed the long-awaited new packaging/IO system to cvs.
This is the largest portion of new code committed to date, so it's important that many people try this and report any bugs or performance issues they might experience. In particular, I'd like to know if it even compiles on other platforms than Linux, FreeBSD, and Windows. If you want to use packed content, you'll need to do the following: (in the next release, this is all to be done automatically by the installer) - create a content/ dir where it would usually be - Copy the file 'version' from the unpacked content into that dir. - create a 'packages' dir - copy the .zip files you want into the packages dir. All these .zip files will be 'unpacked' in memory (in alphabetic order) and the content dir will be overlaid on this. This means that the files in the .zip file will have to be stored as 'comm/arilou/arilou.txt', and not as 'content/comm/arilou/arilou.txt'. Note that there have been some changes in the content dir since 0.2, so if you use these .zip files, it won't work directly. You can copy the changed and/or added files in the content dir, and these will be used instead of the ones from the .zip file. You can put these changed files in a seperate zip file in the packages dir if you want. Be sure to give it a name lexicographically after uqm-0.2-content.zip Another way would be to make a new .zip file from the content dir from cvs. A note on compiling: If you want to use .zip files, you'll need zlib (see the INSTALL file on where to get it). If you do not want to use .zip files, MSVC users should remove '/D "HAVE_ZIP"' from the compile flags. Unix users can choose from the build.sh config menu. A note on making your own .zip files Traditionally, .zip files couldn't store empty directories (they could only store files). If your zip program adds entries for directories, you'll see some warnings about that when the program runs, but they're harmless. I'll add support for this extension lateron. For files that compress well, you might notice a loading speedup, as disk access is much slower than decompression time. For files that don't, in particularly .ogg files, you're likely to notice a slowdown. You should therefor instruct your zip program not to compress .ogg files, but only store them. .ogg files hardly compress at all, so nothing is lost there, but you'll have the fastest loading times. General note: For some reason, when using .zip files in debug builds with MSVC, loading will go very much slower. I don't know yet why this is, but it doesn't occur with release builds, nor on Linux. Title: Re: New packaging/IO system committed. Post by: meep-eep on July 09, 2003, 03:54:12 am I forgot anonymous cvs lags about 24 hours behind.
So you won't be able to test it until tomorrow. Title: Re: New packaging/IO system committed. Post by: meep-eep on July 09, 2003, 04:21:30 am Oh, another thing. The 0.2 voice and music .zip files weren't packed without compression. So if you use them, expect some slow-downs.
Title: Re: New packaging/IO system committed. Post by: Paxtez on July 10, 2003, 06:53:14 am My music is playing fine, but none of the voices are playing. This is how my file structure is:
\content\comm \content\ipanims \content\lbm \content\packages \content\test.txt \content\version \content\comm\arilou ... rest of the comm files ... \content\comm\zoqfot\zoqfot.fon\99.png \content\ipanims\orbit1.ogg \content\ipanims\orbit2.ogg \content\ipanims\orbit3.ogg \content\ipanims\orbit4.ogg \content\ipanims\orbit5.ogg \content\ipanims\space.ogg \content\lbm\arispace.ogg \content\lbm\battle.ogg \content\lbm\credits.ogg \content\lbm\hyper.ogg \content\lbm\newgame.0.new.png \content\lbm\newgame.4.png \content\lbm\newgame.5.png \content\lbm\newgame.ani \content\lbm\outfit.ogg \content\lbm\outfit2.0.png \content\lbm\playmenu.65.png \content\lbm\playmenu.66.png \content\lbm\playmenu.67.png \content\lbm\playmenu.68.png \content\lbm\playmenu.ani \content\lbm\shipyard.ogg \content\lbm\starbase.ogg \content\packages\ipanims.zip \content\packages\lbm.zip \content\packages\melee.zip \content\packages\root.zip \content\packages\shipdata.zip \content\packages\slides.zip Any ideas why? Title: Re: New packaging/IO system committed. Post by: Nic. on July 10, 2003, 08:45:59 am Allow me to be the first to use this feature to create the oft-requested yellow F.R.I.E.D. that everyone has been asking for since v0.1
http://www.submedia.net/uqm/yellow-fried.zip Title: Re: New packaging/IO system committed. Post by: meep-eep on July 10, 2003, 09:53:20 am Quote My music is playing fine, but none of the voices are playing. This is how my file structure is: ... Any ideas why? Your file structure looks fine. I take it the voice files are actually present (you didn't show that part, but they are the .ogg files in the comm/<race>/ dir). Are there any debug messages about voice files when you engage in alien communication? Title: Re: New packaging/IO system committed. Post by: Paxtez on July 10, 2003, 02:26:37 pm Hehe yeah, all the files are there I just didn't want to list the 2,000 files in the comm dir.
Heres the dugbug messages that comes up. Found timestamp file: comm/starbas/starbas.ts SpliceTrack(): loading comm/starbas/starb010.ogg SpliceTrack(): no voice ogg available so setting speech volume to zero SpliceTrack(): loading comm/starbas/ SpliceTrack(): number of timestamps doesn't match number of pages! at pos 0 to stream comm/starbas/ , source 6derTaskFunc(): finished playing comm/starbas/ Title: Re: New packaging/IO system committed. Post by: Paxtez on July 10, 2003, 06:39:26 pm I ran into another problem (should these be posted to bugzilla?).
I tried using my little custom red engine graphics in the game via packages zip file and try as I might, I cannot get the files inside of the 'comm' folder inside the zip files to load. I tried naming it !!!!!.zip and zzzzzz.zip and it wouldn't load (although the one file inside the lbm dir worked as expected). The only way I got the graphics to work in-game with the zip file was to rename the comm folder, and then it loaded up the few pictures in the zip. http://www2.hawaii.edu/~waselesk/redengine.zip Heres the file if you want to try it out Title: Re: New packaging/IO system committed. Post by: meep-eep on July 12, 2003, 02:57:05 am Quote I ran into another problem (should these be posted to bugzilla?). I tried using my little custom red engine graphics in the game via packages zip file and try as I might, I cannot get the files inside of the 'comm' folder inside the zip files to load. I tried naming it !!!!!.zip and zzzzzz.zip and it wouldn't load (although the one file inside the lbm dir worked as expected). The only way I got the graphics to work in-game with the zip file was to rename the comm folder, and then it loaded up the few pictures in the zip. Files outside of .zip files will always overrule zipped files. Title: Re: New packaging/IO system committed. Post by: MrMorden on July 17, 2003, 01:48:20 am Has anyone managed to compile for Windows with MinGW/MSYS after the new resource system was committed?
I get the following error: gcc -o obj/debug/./src/sc2code/libs/uio/stdio/stdio.o -c -I/usr/local/cross-tools/i386-mingw32msvc/include/SDL -Dmain=SDL_main -I/usr/local/cross-tools/i386-mingw32msvc/include/SDL -Dmain=SDL_main -g -O0 -W -Wall -DDEBUG_TRACK_SEM -DGFXMODULE_SDL -DHAVE_OPENGL -DSOUNDMODULE_SDL -DHAVE_ZIP=1 -I src -I src/sc2code -I src/sc2code/libs src/sc2code/libs/uio/stdio/stdio.c src/sc2code/libs/uio/stdio/stdio.c: In function `stdio_mkdir': src/sc2code/libs/uio/stdio/stdio.c:157: too many arguments to function `mkdir' make: *** [obj/debug/./src/sc2code/libs/uio/stdio/stdio.o] Error 1 Title: Re: New packaging/IO system committed. Post by: meep-eep on July 18, 2003, 04:44:48 am I've just committed a change that should fix this problem. I'm not sure as I don't have mingw myself here, so I appreciate feedback.
Note that it takes about 24 hours before public cvs is updated. Title: Re: New packaging/IO system committed. Post by: Mika on July 18, 2003, 08:34:16 am I installed MinGW myself and there's still lot of errors in compilation so it will take some time to fix all of them. Meep-Eep said he'll start looking at my build logs tomorrow.
Title: Re: New packaging/IO system committed. Post by: MrMorden on July 18, 2003, 01:18:30 pm I appreciate that you are already trying to fix it. I will not be able to give any feedback for about a week but I guess that Mika can supply you with new build logs if needed.
Title: Re: New packaging/IO system committed. Post by: meep-eep on July 19, 2003, 10:07:37 am Quote I appreciate that you are already trying to fix it. I will not be able to give any feedback for about a week but I guess that Mika can supply you with new build logs if needed. He has, and it should be fixed now. (Again: public cvs lags about 24 hours behind) Title: Re: New packaging/IO system committed. Post by: MrMorden on July 19, 2003, 01:38:55 pm Since the cvs lag was short I had time to test it and it works just fine now.
Thanks! |