Back to the Vavoom Forum Archives
PREACHER
Crimson Wizard
void A_MWandAttack() { Player(Player).SpawnPlayerMissile(MageWandMissile); Player.MO.PlaySound('MageWandFire', CHAN_WEAPON); }What does it do? Two simple things.
Player(Player).SpawnPlayerMissile(MageWandMissile)this string sais that Player should spawn a projectile of some sort in the direction of its view. In parentheses is a name of spawned missile's class. That's what you should change. Serpent fireballs are named: [color=green:2cqnoq4f]DemonMissile[/color:2cqnoq4f] (fire) and [color=green:2cqnoq4f]Demon2Missile[/color:2cqnoq4f] (gas). (To know these names, and any other, you have to explore "game" folder and learn classes' names. Actually it needs to be documented, I hope I'll find a time to do this, or somebody else will.) Secondly:
Player.MO.PlaySound('MageWandFire', CHAN_WEAPON);This string orders Player to play sound with a starting point of its body position. You may change this too also if you want. Anyway, try change code above this way:
void A_MWandAttack() { Player(Player).SpawnPlayerMissile(DemonMissile); Player.MO.PlaySound('DemonAttack', CHAN_WEAPON); }Mage Player will shoot Serpent fireballs with a sound of Serpent's attack. Now progs have to be compiled. First find "utils" folder in the folder where you placed progs source. There open "bin" folder and copy vcc.exe into "progs -> hexen" folder. Run "compile.bat" in "hexen" folder. It should work a bit, then 3 new files must be created: shared.dat clprogs.dat svprogs.dat Use any WAD-editor (WinTex, for example) to open "Vavoom \ basev \ hexen \ wad0.wad" (where "Vavoom" is the folder where you installed Vavoom application). Replace 3 entries named "shared", "clprogs" and "svprogs" in that wad with newly created files. Now run Vavoom (don't forget to set "Game" parameter to "Hexen"). PS. Just to be sure. Vavoom application itself is here: <!-- m --><a class="postlink" href="http://prdownloads.sourceforge.net/vavoom/vavoom-win-1.20.zip?download">http://prdownloads.sourceforge.net/vavo ... p?download</a><!-- m --> And Vavoom progs source you need is here: <!-- m --><a class="postlink" href="http://prdownloads.sourceforge.net/vavoom/vavoom-progs-1.20.zip?download">http://prdownloads.sourceforge.net/vavo ... p?download</a><!-- m -->
PREACHER
PREACHER
[color=white:3vfpiffv] C:\vavoom\progs\heretic>vcc -I../common -P../../basev/common/progs herdefs.vc sh ared.dat herdefs.vc:26: Can't find package herdefs.vc:28: Parent class type expected herdefs.vc:28: Error #26 - Missing semicolon. herdefs.vc:28: Field type expected. herdefs.vc:28: Field name expected herdefs.vc:60: Error #19 - Syntax error in constant expression.Invalid identifie r USER_PROTOCOL_START C:\vavoom\progs\heretic>vcc -I../common -P../../basev/common/progs clprogs.vc cl progs.dat clprogs.vc:28: Can't find package clprogs.vc:29: Can't find package ./cgame/MainClientState.vc:26: Parent class type expected ./cgame/MainClientState.vc:26: Error #26 - Missing semicolon. ./cgame/MainClientState.vc:26: Field type expected. ./cgame/MainClientState.vc:26: Field name expected ./cgame/MainClientState.vc:48: Class name expected ./cgame/MainClientState.vc:48: Error #54 - Missing ']'. ./cgame/MainClientState.vc:48: Error #26 - Missing semicolon. ./cgame/MainClientState.vc:48: Field type expected. ./cgame/MainClientState.vc:48: Field name expected ./cgame/MenuObject.vc:26: Parent class type expected ./cgame/MenuObject.vc:26: Error #26 - Missing semicolon. ./cgame/MenuObject.vc:26: Field type expected. ./cgame/MenuObject.vc:26: Field name expected ./cgame/MenuChoice.vc:58: Error #22 - Missing ')'. ./cgame/MenuChoice.vc:58: Error #23 - Missing '{'. ./cgame/MenuChoice.vc:58: Error #26 - Missing semicolon. ./cgame/MenuChoice.vc:58: Error #40 - Invalid identifier.variable name expected ./cgame/MenuChoice.vc:58: Error #26 - Missing semicolon. ./cgame/MenuChoice.vc:58: Error #26 - Missing semicolon. ./cgame/MenuChoice.vc:58: Error #26 - Missing semicolon. ./cgame/MenuChoice.vc:76: Error #40 - Invalid identifier.variable name expected ./cgame/MenuChoice.vc:76: Error #26 - Missing semicolon. ./cgame/MenuTitleText.vc:26: Field type expected. ./cgame/MenuTitleText.vc:26: Field name expected ./cgame/MenuTitleText.vc:26: Error #26 - Missing semicolon. ./cgame/MenuTitleText.vc:26: Field type expected. ./cgame/MenuTitleText.vc:26: Error #26 - Missing semicolon. ./cgame/MenuTitleText.vc:26: Field name expected ./cgame/MenuTitleText.vc:36: Error #22 - Missing ')'. ./cgame/MenuTitleText.vc:36: Error #23 - Missing '{'. ./cgame/MenuTitleText.vc:36: Error #26 - Missing semicolon. ./cgame/MenuTitleText.vc:44: Error #40 - Invalid identifier.variable name expect ed ./cgame/MenuTitleText.vc:44: Error #26 - Missing semicolon. ./cgame/MenuScreen.vc:26: Field type expected. ./cgame/MenuScreen.vc:26: Field name expected ./cgame/MenuScreen.vc:26: Error #26 - Missing semicolon. ./cgame/MenuScreen.vc:26: Field name expected ./cgame/MenuScreen.vc:26: Error #26 - Missing semicolon. ./cgame/MenuScreen.vc:26: Field name expected ./cgame/MenuScreen.vc:48: Error #22 - Missing ')'. ./cgame/MenuScreen.vc:48: Error #23 - Missing '{'. ./cgame/MenuScreen.vc:48: Error #26 - Missing semicolon. ./cgame/MenuScreen.vc:62: Error #26 - Missing semicolon. ./cgame/MenuScreen.vc:143: Error #45 - Function redeclared.Function: MenuChoice. InitWindow C:\vavoom\progs\heretic>vcc -I../common -P../../basev/common/progs svprogs.vc sv progs.dat svprogs.vc:28: Can't find package svprogs.vc:29: Can't find package ./game/Actor.vc:26: Parent class type expected ./game/Actor.vc:26: Error #26 - Missing semicolon. ./game/Actor.vc:27: Field type expected. ./game/Actor.vc:27: Field name expected ./game/Actor.vc:139: Field type expected. ./game/Actor.vc:139: Error #26 - Missing semicolon. ./game/Actor.vc:139: Field type expected. ./game/Actor.vc:139: Field name expected ./game/Actor.vc:164: Field type expected. ./game/Actor.vc:164: Error #26 - Missing semicolon. ./game/Actor.vc:164: Field type expected. ./game/Actor.vc:164: Field name expected ./game/Actor.vc:171: Field type expected. ./game/Actor.vc:171: Redeclared field ./game/Actor.vc:171: Error #26 - Missing semicolon. ./game/Actor.vc:171: Field type expected. ./game/Actor.vc:171: Field name expected ./game/Actor.vc:172: Field type expected. ./game/Actor.vc:172: Redeclared field ./game/Actor.vc:172: Error #26 - Missing semicolon. ./game/Actor.vc:172: Field type expected. ./game/Actor.vc:172: Field name expected ./game/Actor.vc:174: Field type expected. ./game/Actor.vc:174: Redeclared field ./game/Actor.vc:174: Error #26 - Missing semicolon. ./game/Actor.vc:174: Field type expected. ./game/Actor.vc:174: Field name expected ./game/Actor.vc:175: Field type expected. ./game/Actor.vc:175: Redeclared field ./game/Actor.vc:175: Error #26 - Missing semicolon. ./game/Actor.vc:175: Field type expected. ./game/Actor.vc:175: Field name expected ./game/Actor.vc:179: Field type expected. ./game/Actor.vc:179: Redeclared field ./game/Actor.vc:179: Error #26 - Missing semicolon. ./game/Actor.vc:179: Field type expected. ./game/Actor.vc:179: Field name expected ./game/Actor.vc:190: Error #44 - Invalid variable type. C:\vavoom\progs\heretic>pause Presione una tecla para continuar . . . [/color:3vfpiffv]
Firebrand
vcc common.vc common.dat vcc clcommon.vc clcommon.dat vcc svcommon.vc svcommon.datRun the compile.bat, it will compile the common progs, and move the common.dat, clcommon.dat and svcommon.dat files to the basev\common\progs\ directory, then try to compile agian, you shouldn't have anymore problems, if you have, please post here again and I'll try to help you out ASAP <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Crimson Wizard
vcc -I../common -P../common ../common/common.vc ../common/common.dat vcc -I../common -P../common ../common/clcommon.vc ../common/clcommon.dat vcc -I../common -P../common ../common/svcommon.vc ../common/svcommon.dat vcc -I../common -P../common hexndefs.vc shared.dat vcc -I../common -P../common clprogs.vc clprogs.dat vcc -I../common -P../common svprogs.vc svprogs.datTested, worked... <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> Then again, do not forget to subst entries mentioned in vavoom/basev/hexenwad0.wad by newly created files: shared.dat, clprogs.dat and svprogs.dat Also don't forget to copy hexen.wad (main wad) into vavoom's directory. And that MUST be PATCHED wad (v 1.1, of year 1996) - I mention this trying to cover every problem you may meet there. BTW, WinTex does not substs old files when you use "Load entry from file" command. So, I recommend, if you use WinTex, delete old entries (shared, clprogs and svprogs) first, then load new ones. Notice, that they MUST be positioned BETWEEN two markers; this is how wad contents should look like: PR_START SHARED CLPROGS SVPROGS PR_END -------- some other entries here --------- wrtiting...... testing......... ...... Mage firing Serpent fireballs! Yeeeha! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> EDIT: Eeeew... <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( --> these fireballs are much less powerfull than original wand's projectiles. Heh, I recommend fire with these:
void A_MWandAttack() { Player(Player).SpawnPlayerMissile(DragonMissile); Player.MO.PlaySound('DragonAttack', CHAN_WEAPON); }*giggle* <!-- s:twisted: --><img src="{SMILIES_PATH}/icon_twisted.gif" alt=":twisted:" title="Twisted Evil" /><!-- s:twisted: -->