Post by chris on Oct 6, 2024 9:07:24 GMT -5
So I had previously mentioned doing a quick experiment to try to splice a GCS and GCSP game together to see if I could gift a regular GCS game with mutant superpowers (adjustable screen size, look up and down, live inventory management, jumping in ceiling levels, etc.) and not getting it to work.
So I've... kinda got it working, sorta.
If you grab a copy of ENGINE.EXE from a GCSP game (POW, BATTLE, SUB, SPDARK, etc. ?) and place it in your GCS/ENGINE directory, you can test run your games like this: engine u1 o1 b1 pYOURGAME a64 (1 being the level number to run, YOURGAME being the directory where your game is. Also add s1 t g for sound, music, and god mode respectively). A few problems I've noticed: weapon system seems to be incompatible in some way, you hear hi-ya! sounds over and over and none of the weapons work (might be fixable by adjusting TXT files, haven't looked into it). Some sounds mapped differently. Other possible minor glitchiness involving platforms. HUD glitches obviously but that's probably easily fixable with the right VGA files.
You can even replace P.EXE with ENGINE.EXE so that testing levels will use GCSP when testing and it won't miss a beat.
Here's where I'm stuck though. If you try to run a compiled game with ENGINE.EXE it crashes. According to the GCSP docs, here are the command line args for ENGINE (mostly the same arguments for P.EXE and PNOCOMP.EXE):
d Compile final game .ENG files. Runs through THEATERS.TXT.
t play music if sound blaster selected. ( 's1' option)
g God mode, invincible player.
x assume video already in graphics mode X when ENGINE.EXE loads.
f load precompiled universe info from .bin files.
j use joystick for control
m use mouse for control
l fatbits for slow computers
c clear *.bin files for running with clean slate
unnn specify which univ??.txt file to load (nnn is decimal number)
onnn specify which objdef??.txt file to load (nnn is decimal number)
bnnn specify which backg??.vga file to use, and which p??.pal.
ennn specify which entry point in theaters.txt to start at.
sn Specify sound support type. s1=Sound Blaster, s3= PC Speaker
annn Specify which universe attribute bits to use.
hnnn Specify difficulty level 0 (hardest) through 3 (easy) Def=0
pname Specify subdirectory name to use for all universe data
so from what I understand, "engine d pYOURGAME" should generate the .ENG files we need to output and run a final game. But when I try this, I get a Pygmy error 114 (pygmy load file not found). I have tried putting every pygmy file I can think of in the game and engine directories to no avail. A2.COM (Pygmy Forth compiler), GUARD.COM, PYGMY.DAT (a copy of GUARD.COM), various 4TH files, etc. and just can't get it to stop complaining. I'm out of ideas. If you guys wanna give it a try have at it
Obviously if we had a copy of GCS for Programmers this would be much easier lol. Alas. Anyone got Kevin's email address? Maybe I'll try asking him.
Also, did you notice the s3 command gives you PC speaker sound? Pretty cool! And I assume s2 = ADLIB. Maybe if you copy over some of those Nick Macki SND files you could get that working? I dunno, probably not, just thinking out loud. Would be cool to make the GCS sound like an old Apogee game lol.
I've actually been up to some interesting and occasionally successful experiments with the GCS lately, I'll have to share them sometime soon.
So I've... kinda got it working, sorta.
If you grab a copy of ENGINE.EXE from a GCSP game (POW, BATTLE, SUB, SPDARK, etc. ?) and place it in your GCS/ENGINE directory, you can test run your games like this: engine u1 o1 b1 pYOURGAME a64 (1 being the level number to run, YOURGAME being the directory where your game is. Also add s1 t g for sound, music, and god mode respectively). A few problems I've noticed: weapon system seems to be incompatible in some way, you hear hi-ya! sounds over and over and none of the weapons work (might be fixable by adjusting TXT files, haven't looked into it). Some sounds mapped differently. Other possible minor glitchiness involving platforms. HUD glitches obviously but that's probably easily fixable with the right VGA files.
You can even replace P.EXE with ENGINE.EXE so that testing levels will use GCSP when testing and it won't miss a beat.
Here's where I'm stuck though. If you try to run a compiled game with ENGINE.EXE it crashes. According to the GCSP docs, here are the command line args for ENGINE (mostly the same arguments for P.EXE and PNOCOMP.EXE):
d Compile final game .ENG files. Runs through THEATERS.TXT.
t play music if sound blaster selected. ( 's1' option)
g God mode, invincible player.
x assume video already in graphics mode X when ENGINE.EXE loads.
f load precompiled universe info from .bin files.
j use joystick for control
m use mouse for control
l fatbits for slow computers
c clear *.bin files for running with clean slate
unnn specify which univ??.txt file to load (nnn is decimal number)
onnn specify which objdef??.txt file to load (nnn is decimal number)
bnnn specify which backg??.vga file to use, and which p??.pal.
ennn specify which entry point in theaters.txt to start at.
sn Specify sound support type. s1=Sound Blaster, s3= PC Speaker
annn Specify which universe attribute bits to use.
hnnn Specify difficulty level 0 (hardest) through 3 (easy) Def=0
pname Specify subdirectory name to use for all universe data
so from what I understand, "engine d pYOURGAME" should generate the .ENG files we need to output and run a final game. But when I try this, I get a Pygmy error 114 (pygmy load file not found). I have tried putting every pygmy file I can think of in the game and engine directories to no avail. A2.COM (Pygmy Forth compiler), GUARD.COM, PYGMY.DAT (a copy of GUARD.COM), various 4TH files, etc. and just can't get it to stop complaining. I'm out of ideas. If you guys wanna give it a try have at it
Obviously if we had a copy of GCS for Programmers this would be much easier lol. Alas. Anyone got Kevin's email address? Maybe I'll try asking him.
Also, did you notice the s3 command gives you PC speaker sound? Pretty cool! And I assume s2 = ADLIB. Maybe if you copy over some of those Nick Macki SND files you could get that working? I dunno, probably not, just thinking out loud. Would be cool to make the GCS sound like an old Apogee game lol.
I've actually been up to some interesting and occasionally successful experiments with the GCS lately, I'll have to share them sometime soon.