qbismSuper8 builds
Moderator: InsideQC Admins
Re: qbismSuper8 builds
Yes. klite is what I use. When I get to my comp I'll post some settings that look good on Youtube.dreadlorde wrote:Do I need to install a codec pack (klite, cccp)?
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: qbismSuper8 builds
Just manually install the codecs you want. Again, I recommend capturing with H264 (x264) if you can. Nothing comes close to its quality. If you can use ffmpeg's presets, I use "slow". That leads to not completely insane sizes while maintaining very high quality images.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
- Spirit
- Posts: 1031
- Joined: Sat Nov 20, 2004 9:00 pm
Re: qbismSuper8 builds
I'm another H264 convert. Codec name is X264 with klite. I set it to "very fast" in the settings dialogue if recording in real-time.
FFDS with mjpeg set to 95% quality is also OK.
XVID is a good default because it works out-of-the-box and encodes pretty fast. But quality is not there yet...
FFDS with mjpeg set to 95% quality is also OK.
XVID is a good default because it works out-of-the-box and encodes pretty fast. But quality is not there yet...
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: qbismSuper8 builds
Wanted to say thanks for the Awesome engine, really brings out the scale of some of the larger maps. Love it. Any chance of FakeCD (mp3) soundtracks support in future builds? Also a couple of bugs I noticed, if you're running fullscreen the game will crash to desktop on E2M5 right as the elevator comes out of the water. Menu is glitchy in windowed mode (bits stays on screen after closed). In Soul of Evil on the Devils Rift map when you activate the altar it goes to a cut scene showing a shambler being summoned, the game crashes to console with a rubble_01.mdl not precached message. This only happens if you're playing though the maps one after the other (rift is the 3rd counting the start) if you launch the map directly it usually works. Possibly related I get the occasional slew of "couldn't precache foo" messages when starting maps at times but it seems random and tricky to reproduce, though some mods do it more than others.
Thanks for the 8-bitty goodness, keep it coming.
Thanks for the 8-bitty goodness, keep it coming.
- raithe
- Posts: 2
- Joined: Thu Oct 04, 2012 6:01 am
Re: qbismSuper8 builds
If there's going to be any fakecd at all, i'd recommend using DUMB w/OGG extension instead. This is something I tried (and failed) to do.
i should not be here
- leileilol
- Posts: 2783
- Joined: Fri Oct 15, 2004 3:23 am
Re: qbismSuper8 builds
Thanks for the detailed feedback. I'll see if I can duplicate the bugs.
For next release, I made a change to make Marcher elevator to tower work. Marcher progs send svc_staticsound directly as byte soundnums at that point in the game. This breaks protocols that send short rather than byte. I changed the protocol, but just for static sounds AKA ambients, which IIRC are usually low numbers anyway.
I wouldn't mind mp3 or ogg but not sure if fakeCD is the way to go vs a console command "playmp3 [filename.mp3] [volume]". fakeCD requires file names to match track names among other quriks.
Has engoo switched from midilib to DUMB for playing mod files? I used modlib way back for the timefrag engine because it could play "mortal kombat" correctly.
Could you upload a savegame of that somewhere?raithe wrote:In Soul of Evil on the Devils Rift map when you activate the altar it goes to a cut scene showing a shambler being summoned, the game crashes to console with a rubble_01.mdl not precached message. This only happens if you're playing though the maps one after the other (rift is the 3rd counting the start) if you launch the map directly it usually works.
For next release, I made a change to make Marcher elevator to tower work. Marcher progs send svc_staticsound directly as byte soundnums at that point in the game. This breaks protocols that send short rather than byte. I changed the protocol, but just for static sounds AKA ambients, which IIRC are usually low numbers anyway.
I wouldn't mind mp3 or ogg but not sure if fakeCD is the way to go vs a console command "playmp3 [filename.mp3] [volume]". fakeCD requires file names to match track names among other quriks.
Has engoo switched from midilib to DUMB for playing mod files? I used modlib way back for the timefrag engine because it could play "mortal kombat" correctly.
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: qbismSuper8 builds
Engoo uses ASS for MIDI and DUMB for MOD, but it only loads and not plays. I chose DUMB because it was fast and it could also compile in DOS through DJGPP.
I would hijack the "cd" commands if there's no CD loaded (yeah, and good luck playing CD audio in Windows 7 anymore)
I would hijack the "cd" commands if there's no CD loaded (yeah, and good luck playing CD audio in Windows 7 anymore)
i should not be here
- leileilol
- Posts: 2783
- Joined: Fri Oct 15, 2004 3:23 am
Re: qbismSuper8 builds
CD playing is almost OK compiling with mingw32. Track will play automatically, "cd info" works, pause and eject work. But in the audio menu, play track says "drive empty" and pause/resume from that menu can crash. But the CD I randomly jammed in to test only has 8 tracks, may be an issue. Volume seems pointless. In code it appears to only play or pause.leileilol wrote:(yeah, and good luck playing CD audio in Windows 7 anymore)
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: qbismSuper8 builds
...off-topic, but is there an audio utility to convert an audio track to mod or xm format? The software would compare sequences of audio, find matches, and slice it up. Good for repetitive music.
There are plenty of threads on the internet asking similar question with replies describing the difference between mp3 and mod formats. Yes, that's why it's hard.
There are plenty of threads on the internet asking similar question with replies describing the difference between mp3 and mod formats. Yes, that's why it's hard.
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: qbismSuper8 builds
It's possible to load a WAV file in Modplug Player and save a module. No splitting and such, tho
I wouldn't do that as I like reproducing by hand in the MOD format. (don't bother preaching s3m/it/xm to me - I enjoy working in strict limitations!)
I wouldn't do that as I like reproducing by hand in the MOD format. (don't bother preaching s3m/it/xm to me - I enjoy working in strict limitations!)
i should not be here
- leileilol
- Posts: 2783
- Joined: Fri Oct 15, 2004 3:23 am
Re: qbismSuper8 builds
Well you go really over to the pixelated side of music and convert from mp3->midi->mod...
I'll upload a save when I have a spare half-hour to run through the map.
I'll upload a save when I have a spare half-hour to run through the map.
- raithe
- Posts: 2
- Joined: Thu Oct 04, 2012 6:01 am
Re: qbismSuper8 builds
Build 109: http://super8.qbism.com/wp-content/uploads/2012/10/qbismS8_0109.zip
Video with Madfox's Tormentarium: http://youtu.be/Hrxr_FNOAN0
Thread spamming mappers: http://www.celephais.net/board/view_thread.php?id=60841
More removal than addition in this release:
- Remove limitations on fastforward and rewind controls. They now work in all demo modes except timedemo.
On a related note, removed ‘most keys bring down console when playing demo’. It was a problem for using bound keys during demo playback. Just hit ESC for console like usual.
Removed animation jerkiness in fisheye mode. Now models, sprites, and particles move smoothly when r_fisheye is active.
Removed support for ambient sound indexes greater than 256 for backwards compatibility with Marcher Fortress. This is a Good Thing. Other types of sounds can still exceed 256. I’m guessing ambient (or static) sounds would get cached early, anyway. Marcher was crashing out almost at the end, at the elevator to the tower, arrrggghhh! But it's OK now.
Removed ASM. Not much speed improvement anymore, if any, with build optimized for at least Pentium/ MMX.
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Re: qbismSuper8 builds
qbism wrote:Removed ASM.
At least leave in the drawspans.
i should not be here
- leileilol
- Posts: 2783
- Joined: Fri Oct 15, 2004 3:23 am
Re: qbismSuper8 builds
Speaking of assembly, here's a relatively minor speedup for you guys. It's only in the order of ~1% so don't get too excited.
- Code: Select all
void R_ClearToBaseLight (unsigned *block, int len, int baselight)
{
__asm
{
mov eax, dword ptr [baselight]
mov ecx, dword ptr [len]
mov edi, dword ptr [block]
rep stosd
}
}
void R_AddLightmapToLights (unsigned *block, int len, byte *lightmap, int scale)
{
__asm
{
mov edi, dword ptr [block]
mov esi, dword ptr [lightmap]
mov ebx, dword ptr [scale]
xor ecx, ecx
Loop0:
cmp ecx, dword ptr [len]
jge LoopDone
movzx eax, byte ptr [esi]
imul eax, ebx
add eax, dword ptr [edi]
mov dword ptr [edi], eax
add edi, 4
inc esi
inc ecx
jmp Loop0
LoopDone:
}
}
void R_BoundInvertShiftLight (unsigned *block, int len)
{
__asm
{
mov edi, dword ptr [block]
xor ecx, ecx
Loop0:
cmp ecx, dword ptr [len]
jge LoopDone
cmp dword ptr [edi], 0FE01h
jge Bounded
mov eax, 0FF00h
sub eax, dword ptr [edi]
sar eax, 2
mov dword ptr [edi], eax
jmp NextIter
Bounded:
mov dword ptr [edi], 40h
NextIter:
add edi, 4
inc ecx
jmp Loop0
LoopDone:
}
}
/*
===============
R_BuildLightMap
Combine and scale multiple lightmaps into the 8.8 format in blocklights
===============
*/
void R_BuildLightMap (void)
{
int smax, tmax;
int t;
int i, len;
byte *lightmap;
unsigned scale;
int maps;
msurface_t *surf;
surf = r_drawsurf.surf;
smax = (surf->extents[0]>>4)+1;
tmax = (surf->extents[1]>>4)+1;
len = smax*tmax;
lightmap = surf->samples;
if (r_fullbright.value || !cl.worldmodel->lightdata)
{
R_ClearToBaseLight (blocklights, len, 0);
return;
}
// clear to ambient
R_ClearToBaseLight (blocklights, len, r_refdef.ambientlight << 8);
// add all the lightmaps
if (lightmap)
{
for (maps = 0; maps < MAXLIGHTMAPS && surf->styles[maps] != 255; maps++)
{
R_AddLightmapToLights (blocklights, len, lightmap, r_drawsurf.lightadj[maps]);
lightmap += len; // skip to next lightmap
}
}
// add all the dynamic lights
if (surf->dlightframe == r_framecount)
R_AddDynamicLights ();
// bound, invert, and shift
R_BoundInvertShiftLight (blocklights, len);
}
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
We knew the words, we knew the score, we knew what we were fighting for
-

mh - Posts: 2292
- Joined: Sat Jan 12, 2008 1:38 am
Re: qbismSuper8 builds
OK, maybe will add SOME asm back. Wish gcc could handle that nice inline syntax.
-
qbism - Posts: 1236
- Joined: Thu Nov 04, 2004 5:51 am
Who is online
Users browsing this forum: No registered users and 1 guest