From 2186d5f3f95cd74a070a490d899291648d58667a Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Sun, 1 Jul 2001 00:55:22 +0000 Subject: [PATCH] Initial revision --- 3dc/AvP_Alien_Readme.txt | 262 - 3dc/AvP_Marine_Readme.txt | 284 - 3dc/AvP_Predator_Readme.txt | 264 - 3dc/AvP_Readme+Credits.txt | 278 - 3dc/AvP_Readme.txt | 226 - 3dc/CREDITS.txt | 340 - 3dc/Kshape.bak | 8501 ----------------- 3dc/SMACKW32.DLL | Bin 95232 -> 0 bytes 3dc/SMACKW32.LIB | Bin 42480 -> 0 bytes 3dc/avp.ico | Bin 2238 -> 0 bytes 3dc/avp.rc | 1 - 3dc/avp/shapes/vssver.scc | Bin 48 -> 0 bytes 3dc/avp/support/vssver.scc | Bin 672 -> 0 bytes 3dc/avp/vssver.scc | Bin 3120 -> 0 bytes 3dc/avp/win95/Frontend/vssver.scc | Bin 224 -> 0 bytes 3dc/avp/win95/System.bak | 353 - 3dc/avp/win95/gadgets/gadget.bak | 206 - 3dc/avp/win95/gadgets/vssver.scc | Bin 416 -> 0 bytes 3dc/avp/win95/vssver.scc | Bin 1504 -> 0 bytes 3dc/avp/win95/winmain.bak | 834 -- 3dc/binkw32.dll | Bin 167936 -> 0 bytes 3dc/binkw32.lib | Bin 43528 -> 0 bytes 3dc/dialog.dll | Bin 55296 -> 0 bytes 3dc/dialog.lib | Bin 2048 -> 0 bytes 3dc/ia3d.lib | Bin 2066 -> 0 bytes 3dc/include/vssver.scc | Bin 112 -> 0 bytes 3dc/plddpvc.dll | Bin 111104 -> 0 bytes 3dc/plddpvc.lnk | 1 - 3dc/readme.txt | 147 - 3dc/vssver.scc | Bin 848 -> 0 bytes 3dc/win95/SMACK.H | 433 - 3dc/win95/bink.c | 208 - 3dc/win95/bink.h | 488 - 3dc/win95/bink_Rad.h | 699 -- 3dc/win95/md5.c | 364 - 3dc/win95/md5.h | 125 - 3dc/win95/smacker.c | 775 -- 3dc/win95/smacker.h | 43 - 3dc/win95/vssver.scc | Bin 2240 -> 0 bytes AvP.dsp | 2100 ---- AvP.dsw | 29 - AvP.opt | Bin 74752 -> 0 bytes AvP.plg | 515 - License.txt | 1 - avp395.mk | 4 - avp395.wpj | 63 - avpprog.lk1 | 2 - avpprog.mk1 | 2278 ----- avpprog.tgt | 4862 ---------- 3dc/CD Tracks.txt => cd tracks.txt | 0 3dc/default.cfg => default.cfg.bin | Bin 3dc/ENGLISH.TXT => english.txt | 0 3dc/fontbr.pgm => fontbr.pgm | Bin 3dc/Language.txt => language.dat | Bin 3dc/AFONT.C => src/afont.c | 0 3dc/avp/AI_Sight.c => src/avp/ai_sight.c | 0 3dc/avp/AI_Sight.h => src/avp/ai_sight.h | 0 {3dc => src}/avp/avpitems.cpp | 0 {3dc => src}/avp/avpitems.hpp | 0 {3dc => src}/avp/avppages.cpp | 0 {3dc => src}/avp/avppages.hpp | 0 3dc/avp/Avpview.c => src/avp/avpview.c | 0 3dc/avp/AVPVIEW.H => src/avp/avpview.h | 0 {3dc => src}/avp/bh_agun.c | 0 {3dc => src}/avp/bh_agun.h | 0 {3dc => src}/avp/bh_ais.c | 0 {3dc => src}/avp/bh_ais.h | 0 3dc/avp/BH_ALIEN.C => src/avp/bh_alien.c | 0 3dc/avp/BH_ALIEN.H => src/avp/bh_alien.h | 0 3dc/avp/BH_BINSW.C => src/avp/bh_binsw.c | 0 3dc/avp/BH_BINSW.H => src/avp/bh_binsw.h | 0 {3dc => src}/avp/bh_cable.c | 0 {3dc => src}/avp/bh_cable.h | 0 {3dc => src}/avp/bh_corpse.c | 0 {3dc => src}/avp/bh_corpse.h | 0 {3dc => src}/avp/bh_deathvol.c | 0 {3dc => src}/avp/bh_deathvol.h | 0 3dc/avp/Bh_debri.c => src/avp/bh_debri.c | 0 {3dc => src}/avp/bh_debri.h | 0 {3dc => src}/avp/bh_dummy.c | 0 {3dc => src}/avp/bh_dummy.h | 0 {3dc => src}/avp/bh_fan.c | 0 {3dc => src}/avp/bh_fan.h | 0 {3dc => src}/avp/bh_far.c | 0 3dc/avp/BH_FAR.H => src/avp/bh_far.h | 0 3dc/avp/BH_FHUG.C => src/avp/bh_fhug.c | 0 3dc/avp/BH_FHUG.H => src/avp/bh_fhug.h | 0 3dc/avp/BH_GENER.C => src/avp/bh_gener.c | 0 3dc/avp/BH_GENER.H => src/avp/bh_gener.h | 0 {3dc => src}/avp/bh_ldoor.c | 0 {3dc => src}/avp/bh_ldoor.h | 0 {3dc => src}/avp/bh_lift.c | 0 {3dc => src}/avp/bh_lift.h | 0 {3dc => src}/avp/bh_light.c | 0 {3dc => src}/avp/bh_light.h | 0 3dc/avp/BH_LNKSW.C => src/avp/bh_lnksw.c | 0 3dc/avp/BH_LNKSW.H => src/avp/bh_lnksw.h | 0 {3dc => src}/avp/bh_ltfx.c | 0 {3dc => src}/avp/bh_ltfx.h | 0 3dc/avp/Bh_marin.c => src/avp/bh_marin.c | 0 3dc/avp/BH_MARIN.H => src/avp/bh_marin.h | 0 {3dc => src}/avp/bh_mission.c | 0 {3dc => src}/avp/bh_mission.h | 0 3dc/avp/Bh_near.c => src/avp/bh_near.c | 0 3dc/avp/BH_NEAR.H => src/avp/bh_near.h | 0 3dc/avp/BH_PAQ.C => src/avp/bh_paq.c | 0 3dc/avp/BH_PAQ.H => src/avp/bh_paq.h | 0 {3dc => src}/avp/bh_pargen.c | 0 {3dc => src}/avp/bh_pargen.h | 0 {3dc => src}/avp/bh_plachier.c | 0 {3dc => src}/avp/bh_plachier.h | 0 {3dc => src}/avp/bh_plift.c | 0 {3dc => src}/avp/bh_plift.h | 0 3dc/avp/Bh_pred.c => src/avp/bh_pred.c | 0 3dc/avp/BH_PRED.H => src/avp/bh_pred.h | 0 {3dc => src}/avp/bh_queen.c | 0 {3dc => src}/avp/bh_queen.h | 0 .../avp/bh_rubberduck.c | 0 .../avp/bh_rubberduck.h | 0 {3dc => src}/avp/bh_selfdest.c | 0 {3dc => src}/avp/bh_selfdest.h | 0 {3dc => src}/avp/bh_snds.c | 0 {3dc => src}/avp/bh_snds.h | 0 {3dc => src}/avp/bh_spcl.c | 0 {3dc => src}/avp/bh_spcl.h | 0 3dc/avp/BH_SWDOR.C => src/avp/bh_swdor.c | 0 3dc/avp/BH_SWDOR.H => src/avp/bh_swdor.h | 0 {3dc => src}/avp/bh_track.c | 0 {3dc => src}/avp/bh_track.h | 0 3dc/avp/BH_TYPES.C => src/avp/bh_types.c | 0 3dc/avp/BH_TYPES.H => src/avp/bh_types.h | 0 {3dc => src}/avp/bh_videoscreen.c | 0 {3dc => src}/avp/bh_videoscreen.h | 0 {3dc => src}/avp/bh_waypt.c | 0 {3dc => src}/avp/bh_waypt.h | 0 {3dc => src}/avp/bh_weap.c | 0 {3dc => src}/avp/bh_weap.h | 0 3dc/avp/Bh_xeno.c => src/avp/bh_xeno.c | 0 3dc/avp/BH_XENO.H => src/avp/bh_xeno.h | 0 .../avp/bonusabilities.c | 0 .../avp/bonusabilities.h | 0 {3dc => src}/avp/cconvars.cpp | 0 .../avp/cdtrackselection.cpp | 0 .../avp/cdtrackselection.h | 0 3dc/avp/CheatModes.c => src/avp/cheatmodes.c | 0 {3dc => src}/avp/comp_map.c | 0 3dc/avp/COMP_SHP.C => src/avp/comp_shp.c | 0 3dc/avp/COMP_SHP.H => src/avp/comp_shp.h | 0 .../ConsoleLog.cpp => src/avp/consolelog.cpp | 0 .../ConsoleLog.hpp => src/avp/consolelog.hpp | 0 3dc/avp/DATABASE.C => src/avp/database.c | 0 3dc/avp/DATABASE.H => src/avp/database.h | 0 {3dc => src}/avp/davehook.cpp | 0 {3dc => src}/avp/davehook.h | 0 {3dc => src}/avp/deaths.c | 0 {3dc => src}/avp/decal.c | 0 {3dc => src}/avp/decal.h | 0 .../DetailLevels.c => src/avp/detaillevels.c | 0 .../DetailLevels.h => src/avp/detaillevels.h | 0 3dc/avp/Dynamics.c => src/avp/dynamics.c | 0 3dc/avp/DYNAMICS.H => src/avp/dynamics.h | 0 3dc/avp/DYNBLOCK.C => src/avp/dynblock.c | 0 3dc/avp/DYNBLOCK.H => src/avp/dynblock.h | 0 3dc/avp/EQUATES.H => src/avp/equates.h | 0 3dc/avp/EQUIPMNT.C => src/avp/equipmnt.c | 0 3dc/avp/EQUIPMNT.H => src/avp/equipmnt.h | 0 {3dc => src}/avp/equiputl.cpp | 0 {3dc => src}/avp/equiputl.hpp | 0 {3dc => src}/avp/extents.c | 0 {3dc => src}/avp/extents.h | 0 3dc/avp/Game.c => src/avp/game.c | 0 {3dc => src}/avp/game_statistics.c | 0 {3dc => src}/avp/game_statistics.h | 0 {3dc => src}/avp/gamecmds.cpp | 0 3dc/avp/GAMEDEF.H => src/avp/gamedef.h | 0 {3dc => src}/avp/gameflow.c | 0 {3dc => src}/avp/gameflow.h | 0 {3dc => src}/avp/gamevars.cpp | 0 3dc/avp/HModel.c => src/avp/hmodel.c | 0 {3dc => src}/avp/hmodel.h | 0 3dc/avp/Hud.c => src/avp/hud.c | 0 3dc/avp/HUD_MAP.C => src/avp/hud_map.c | 0 3dc/avp/HUD_MAP.H => src/avp/hud_map.h | 0 3dc/avp/HUDDEFS.H => src/avp/huddefs.h | 0 3dc/avp/Inventry.c => src/avp/inventry.c | 0 3dc/avp/INVENTRY.H => src/avp/inventry.h | 0 {3dc => src}/avp/langenum.h | 0 3dc/avp/LANGUAGE.C => src/avp/language.c | 0 3dc/avp/LANGUAGE.H => src/avp/language.h | 0 3dc/avp/LIGHTING.C => src/avp/lighting.c | 0 3dc/avp/LIGHTING.H => src/avp/lighting.h | 0 {3dc => src}/avp/load_shp.c | 0 {3dc => src}/avp/load_shp.h | 0 {3dc => src}/avp/los.c | 0 {3dc => src}/avp/los.h | 0 {3dc => src}/avp/ltfx_exp.h | 0 3dc/avp/MACRO.H => src/avp/macro.h | 0 3dc/avp/MAPS.C => src/avp/maps.c | 0 {3dc => src}/avp/mempool.c | 0 {3dc => src}/avp/mempool.h | 0 {3dc => src}/avp/menudefs.h | 0 {3dc => src}/avp/menus.c | 0 .../avp/messagehistory.c | 0 {3dc => src}/avp/missions.cpp | 0 {3dc => src}/avp/missions.hpp | 0 {3dc => src}/avp/movement.c | 0 {3dc => src}/avp/mp_launch.c | 0 3dc/avp/Paintball.c => src/avp/paintball.c | 0 3dc/avp/Paintball.h => src/avp/paintball.h | 0 {3dc => src}/avp/particle.c | 0 {3dc => src}/avp/particle.h | 0 3dc/avp/PFARLOCS.C => src/avp/pfarlocs.c | 0 3dc/avp/PFARLOCS.H => src/avp/pfarlocs.h | 0 3dc/avp/PHEROMON.C => src/avp/pheromon.c | 0 3dc/avp/PHEROMON.H => src/avp/pheromon.h | 0 3dc/avp/Player.c => src/avp/player.c | 0 3dc/avp/Pmove.c => src/avp/pmove.c | 0 3dc/avp/PMOVE.H => src/avp/pmove.h | 0 {3dc => src}/avp/projfont.h | 0 {3dc => src}/avp/projmenu.cpp | 0 {3dc => src}/avp/projmenu.hpp | 0 {3dc => src}/avp/projtext.h | 0 3dc/avp/Psnd.c => src/avp/psnd.c | 0 3dc/avp/PSND.H => src/avp/psnd.h | 0 3dc/avp/PSNDPROJ.C => src/avp/psndproj.c | 0 3dc/avp/PSNDPROJ.H => src/avp/psndproj.h | 0 3dc/avp/PVISIBLE.C => src/avp/pvisible.c | 0 3dc/avp/PVISIBLE.H => src/avp/pvisible.h | 0 {3dc => src}/avp/savegame.c | 0 {3dc => src}/avp/savegame.h | 0 {3dc => src}/avp/scream.cpp | 0 {3dc => src}/avp/scream.h | 0 3dc/avp/SecStats.c => src/avp/secstats.c | 0 {3dc => src}/avp/sequnces.h | 0 {3dc => src}/avp/sfx.c | 0 {3dc => src}/avp/sfx.h | 0 .../shapes/CUBE.C => src/avp/shapes/cube.c | 0 3dc/avp/SMOVDATA.C => src/avp/smovdata.c | 0 {3dc => src}/avp/statpane.h | 0 3dc/avp/STRATDEF.C => src/avp/stratdef.c | 0 3dc/avp/STRATDEF.H => src/avp/stratdef.h | 0 {3dc => src}/avp/support/command.hpp | 0 {3dc => src}/avp/support/consbind.cpp | 0 {3dc => src}/avp/support/consbind.hpp | 0 {3dc => src}/avp/support/consbtch.cpp | 0 {3dc => src}/avp/support/consbtch.hpp | 0 .../avp/support/coordstr.cpp | 0 .../avp/support/coordstr.hpp | 0 .../DAEMON.CPP => src/avp/support/daemon.cpp | 0 {3dc => src}/avp/support/daemon.h | 0 {3dc => src}/avp/support/dcontext.hpp | 0 {3dc => src}/avp/support/expvar.hpp | 0 {3dc => src}/avp/support/indexfnt.cpp | 0 {3dc => src}/avp/support/indexfnt.hpp | 0 {3dc => src}/avp/support/ourbool.h | 0 {3dc => src}/avp/support/r2base.cpp | 0 {3dc => src}/avp/support/r2base.h | 0 {3dc => src}/avp/support/r2pos666.cpp | 0 {3dc => src}/avp/support/r2pos666.hpp | 0 {3dc => src}/avp/support/rebitems.cpp | 0 {3dc => src}/avp/support/rebitems.hpp | 0 {3dc => src}/avp/support/rebmenus.cpp | 0 {3dc => src}/avp/support/rebmenus.hpp | 0 {3dc => src}/avp/support/reflist.cpp | 0 {3dc => src}/avp/support/reflist.hpp | 0 {3dc => src}/avp/support/refobj.cpp | 0 {3dc => src}/avp/support/refobj.hpp | 0 {3dc => src}/avp/support/rentrntq.cpp | 0 {3dc => src}/avp/support/rentrntq.h | 0 {3dc => src}/avp/support/scstring.cpp | 0 {3dc => src}/avp/support/scstring.hpp | 0 {3dc => src}/avp/support/strtab.cpp | 0 {3dc => src}/avp/support/strtab.hpp | 0 {3dc => src}/avp/support/strutil.c | 0 {3dc => src}/avp/support/strutil.h | 0 {3dc => src}/avp/support/tallfont.cpp | 0 {3dc => src}/avp/support/tallfont.hpp | 0 {3dc => src}/avp/support/trig666.cpp | 0 {3dc => src}/avp/support/trig666.hpp | 0 {3dc => src}/avp/support/wrapstr.cpp | 0 {3dc => src}/avp/support/wrapstr.hpp | 0 {3dc => src}/avp/targeting.c | 0 {3dc => src}/avp/targeting.h | 0 {3dc => src}/avp/track.c | 0 {3dc => src}/avp/track.h | 0 3dc/avp/TRIGGERS.C => src/avp/triggers.c | 0 3dc/avp/TRIGGERS.H => src/avp/triggers.h | 0 3dc/avp/Weapons.c => src/avp/weapons.c | 0 3dc/avp/WEAPONS.H => src/avp/weapons.h | 0 .../avp/win95/avpchunk.cpp | 0 .../avp/win95/avpchunk.hpp | 0 .../AvpReg.cpp => src/avp/win95/avpreg.cpp | 0 .../AvpReg.hpp => src/avp/win95/avpreg.hpp | 0 3dc/avp/win95/BMP2.H => src/avp/win95/bmp2.h | 0 .../win95/CHEAT.C => src/avp/win95/cheat.c | 0 .../win95/CHEAT.H => src/avp/win95/cheat.h | 0 {3dc => src}/avp/win95/chtcodes.cpp | 0 {3dc => src}/avp/win95/d3d_hud.cpp | 0 {3dc => src}/avp/win95/d3d_hud.h | 0 {3dc => src}/avp/win95/d3d_render.cpp | 0 {3dc => src}/avp/win95/d3d_render.h | 0 {3dc => src}/avp/win95/datatype.h | 0 {3dc => src}/avp/win95/dbdefs.h | 0 .../Ddplat.cpp => src/avp/win95/ddplat.cpp | 0 .../avp/win95/directplay.c | 0 .../Dp_func.c => src/avp/win95/dp_func.c | 0 .../Dp_func.h => src/avp/win95/dp_func.h | 0 .../dp_Sprh.h => src/avp/win95/dp_sprh.h | 0 {3dc => src}/avp/win95/dplayext.c | 0 {3dc => src}/avp/win95/dplayext.h | 0 {3dc => src}/avp/win95/dx_proj.cpp | 0 3dc/avp/win95/EAX.H => src/avp/win95/eax.h | 0 {3dc => src}/avp/win95/endianio.c | 0 {3dc => src}/avp/win95/endianio.h | 0 .../FFREAD.CPP => src/avp/win95/ffread.cpp | 0 .../FFREAD.HPP => src/avp/win95/ffread.hpp | 0 .../FFSTDIO.CPP => src/avp/win95/ffstdio.cpp | 0 .../FFSTDIO.H => src/avp/win95/ffstdio.h | 0 {3dc => src}/avp/win95/font.h | 0 .../avp/win95/frontend/avp_envinfo.c | 0 .../avp/win95/frontend/avp_envinfo.h | 0 .../avp/win95/frontend/avp_intro.cpp | 0 .../avp/win95/frontend/avp_menudata.c | 0 .../avp/win95/frontend/avp_menugfx.cpp | 0 .../avp/win95/frontend/avp_menugfx.hpp | 0 .../avp/win95/frontend/avp_menus.c | 0 .../avp/win95/frontend/avp_menus.h | 0 .../avp/win95/frontend/avp_mp_config.cpp | 0 .../avp/win95/frontend/avp_mp_config.h | 0 .../avp/win95/frontend/avp_userprofile.cpp | 0 .../avp/win95/frontend/avp_userprofile.h | 0 {3dc => src}/avp/win95/gadgets/ahudgadg.cpp | 0 {3dc => src}/avp/win95/gadgets/ahudgadg.hpp | 0 {3dc => src}/avp/win95/gadgets/conscmnd.cpp | 0 {3dc => src}/avp/win95/gadgets/conscmnd.hpp | 0 {3dc => src}/avp/win95/gadgets/conssym.cpp | 0 {3dc => src}/avp/win95/gadgets/conssym.hpp | 0 {3dc => src}/avp/win95/gadgets/consvar.cpp | 0 {3dc => src}/avp/win95/gadgets/consvar.hpp | 0 {3dc => src}/avp/win95/gadgets/gadget.cpp | 0 {3dc => src}/avp/win95/gadgets/gadget.h | 0 {3dc => src}/avp/win95/gadgets/hudgadg.cpp | 0 {3dc => src}/avp/win95/gadgets/hudgadg.hpp | 0 {3dc => src}/avp/win95/gadgets/rootgadg.cpp | 0 {3dc => src}/avp/win95/gadgets/rootgadg.hpp | 0 {3dc => src}/avp/win95/gadgets/t_ingadg.cpp | 0 {3dc => src}/avp/win95/gadgets/t_ingadg.hpp | 0 {3dc => src}/avp/win95/gadgets/teletype.cpp | 0 {3dc => src}/avp/win95/gadgets/teletype.hpp | 0 {3dc => src}/avp/win95/gadgets/textexp.cpp | 0 {3dc => src}/avp/win95/gadgets/textexp.hpp | 0 {3dc => src}/avp/win95/gadgets/textin.cpp | 0 {3dc => src}/avp/win95/gadgets/textin.hpp | 0 {3dc => src}/avp/win95/gadgets/trepgadg.cpp | 0 {3dc => src}/avp/win95/gadgets/trepgadg.hpp | 0 .../GAMEPLAT.H => src/avp/win95/gameplat.h | 0 .../avp/win95/gammacontrol.cpp | 0 .../avp/win95/gammacontrol.h | 0 {3dc => src}/avp/win95/gflwplat.c | 0 .../avp/win95/heap_tem.hpp | 0 {3dc => src}/avp/win95/hierplace.cpp | 0 {3dc => src}/avp/win95/hierplace.hpp | 0 .../HUD_DATA.H => src/avp/win95/hud_data.h | 0 .../avp/win95/hud_layout.h | 0 .../win95/HUDGFX.H => src/avp/win95/hudgfx.h | 0 3dc/avp/win95/Ia3d.h => src/avp/win95/ia3d.h | 2 +- {3dc => src}/avp/win95/intro.cpp | 0 {3dc => src}/avp/win95/intro.hpp | 0 {3dc => src}/avp/win95/iofocus.cpp | 0 {3dc => src}/avp/win95/iofocus.h | 0 {3dc => src}/avp/win95/jsndsup.cpp | 0 {3dc => src}/avp/win95/jsndsup.h | 0 .../win95/KZSORT.C => src/avp/win95/kzsort.c | 0 .../win95/KZSORT.H => src/avp/win95/kzsort.h | 0 .../LANGPLAT.C => src/avp/win95/langplat.c | 0 {3dc => src}/avp/win95/menugfx.h | 0 .../avp/win95/menuplat.cpp | 0 {3dc => src}/avp/win95/modcmds.cpp | 0 {3dc => src}/avp/win95/modcmds.hpp | 0 .../avp/win95/mousecentreing.cpp | 0 .../MULTMENU.C => src/avp/win95/multmenu.c | 0 .../MULTMENU.H => src/avp/win95/multmenu.h | 0 .../avp/win95/npcsetup.cpp | 0 .../NPCSETUP.H => src/avp/win95/npcsetup.h | 0 .../avp/win95/objsetup.cpp | 0 .../avp/win95/objsetup.hpp | 0 .../avp/win95/pathchnk.cpp | 0 .../avp/win95/pathchnk.hpp | 0 .../PCMENUS.CPP => src/avp/win95/pcmenus.cpp | 0 .../PCMENUS.H => src/avp/win95/pcmenus.h | 0 .../PCPAUSE.C => src/avp/win95/pcpause.c | 0 .../PLATSUP.C => src/avp/win95/platsup.c | 0 .../Pldghost.c => src/avp/win95/pldghost.c | 0 .../PLDGHOST.H => src/avp/win95/pldghost.h | 0 .../win95/Pldnet.c => src/avp/win95/pldnet.c | 0 .../win95/Pldnet.h => src/avp/win95/pldnet.h | 0 {3dc => src}/avp/win95/progress_bar.cpp | 0 {3dc => src}/avp/win95/progress_bar.h | 0 .../avp/win95/projload.cpp | 0 .../avp/win95/projload.hpp | 0 .../Psndplat.c => src/avp/win95/psndplat.c | 0 .../PSNDPLAT.H => src/avp/win95/psndplat.h | 0 .../SCRSHOT.CPP => src/avp/win95/scrshot.cpp | 0 .../SCRSHOT.HPP => src/avp/win95/scrshot.hpp | 0 .../avp/win95/strachnk.cpp | 0 .../avp/win95/strachnk.hpp | 0 {3dc => src}/avp/win95/system.c | 0 .../win95/System.h => src/avp/win95/system.h | 0 .../win95/USR_IO.C => src/avp/win95/usr_io.c | 0 .../win95/USR_IO.H => src/avp/win95/usr_io.h | 0 .../win95/VISION.C => src/avp/win95/vision.c | 0 .../win95/VISION.H => src/avp/win95/vision.h | 0 .../VMANPSET.H => src/avp/win95/vmanpset.h | 0 {3dc => src}/avp/win95/win_proj.cpp | 0 {3dc => src}/avp/win95/winmain.c | 0 {3dc => src}/frustrum.c | 0 {3dc => src}/frustrum.h | 0 3dc/GENPARAM.TXT => src/genparam.txt | 0 {3dc => src}/include/3dc.h | 0 {3dc => src}/include/mem3dc.h | 0 {3dc => src}/include/module.h | 0 {3dc => src}/include/prototyp.h | 0 {3dc => src}/include/shape.h | 0 3dc/Kshape.c => src/kshape.c | 0 3dc/KSHAPE.H => src/kshape.h | 0 3dc/MAP.C => src/map.c | 0 3dc/Maths.c => src/maths.c | 23 - {3dc => src}/mem3dc.c | 0 3dc/MEM3DCPP.CPP => src/mem3dcpp.cpp | 0 3dc/MODULE.C => src/module.c | 0 3dc/MORPH.C => src/morph.c | 0 {3dc => src}/movement.txt | 0 3dc/MSLHAND.C => src/mslhand.c | 0 3dc/MSLHAND.H => src/mslhand.h | 0 3dc/OBJECT.C => src/object.c | 0 {3dc => src}/shpanim.c | 0 {3dc => src}/sphere.c | 0 {3dc => src}/sphere.h | 0 3dc/TABLES.C => src/tables.c | 0 3dc/VDB.C => src/vdb.c | 0 {3dc => src}/version.c | 0 {3dc => src}/version.h | 2 +- {3dc => src}/win95/advwin32.h | 0 {3dc => src}/win95/alt_tab.cpp | 0 {3dc => src}/win95/alt_tab.h | 0 .../ANIMCHNK.CPP => src/win95/animchnk.cpp | 0 .../ANIMCHNK.HPP => src/win95/animchnk.hpp | 0 {3dc => src}/win95/animobs.cpp | 0 {3dc => src}/win95/animobs.hpp | 0 {3dc => src}/win95/aw.h | 0 .../awBmpLd.cpp => src/win95/awbmpld.cpp | 0 .../awIffLd.cpp => src/win95/awiffld.cpp | 0 .../awPnmLd.cpp => src/win95/awpnmld.cpp | 0 .../awTexLd.cpp => src/win95/awtexld.cpp | 0 3dc/win95/awTexLd.h => src/win95/awtexld.h | 0 .../awTexLd.hpp => src/win95/awtexld.hpp | 0 .../BMPNAMES.CPP => src/win95/bmpnames.cpp | 0 .../BMPNAMES.HPP => src/win95/bmpnames.hpp | 0 .../CD_player.c => src/win95/cd_player.c | 0 .../CD_player.h => src/win95/cd_player.h | 0 .../CHNKIMAG.CPP => src/win95/chnkimag.cpp | 0 .../CHNKIMAG.HPP => src/win95/chnkimag.hpp | 0 {3dc => src}/win95/chnkload.cpp | 0 3dc/win95/CHNKLOAD.H => src/win95/chnkload.h | 0 .../CHNKLOAD.HPP => src/win95/chnkload.hpp | 0 .../CHNKTEXI.CPP => src/win95/chnktexi.cpp | 0 3dc/win95/CHNKTEXI.H => src/win95/chnktexi.h | 0 .../CHNKTYPE.CPP => src/win95/chnktype.cpp | 0 .../CHNKTYPE.HPP => src/win95/chnktype.hpp | 0 3dc/win95/Chunk.cpp => src/win95/chunk.cpp | 0 3dc/win95/Chunk.hpp => src/win95/chunk.hpp | 0 .../CHUNKPAL.CPP => src/win95/chunkpal.cpp | 0 .../CHUNKPAL.HPP => src/win95/chunkpal.hpp | 0 .../CL_INIT.CPP => src/win95/cl_init.cpp | 0 3dc/win95/CL_INIT.H => src/win95/cl_init.h | 0 {3dc => src}/win95/d3_func.cpp | 0 {3dc => src}/win95/d3_func.h | 0 .../D3_IMAGE.CPP => src/win95/d3_image.cpp | 0 .../D3_IMAGE.HPP => src/win95/d3_image.hpp | 0 {3dc => src}/win95/d3dmacs.h | 0 {3dc => src}/win95/d3load.c | 0 {3dc => src}/win95/db.c | 0 3dc/win95/DB.H => src/win95/db.h | 0 .../DD_FUNC.CPP => src/win95/dd_func.cpp | 0 .../DEBUGLOG.CPP => src/win95/debuglog.cpp | 0 3dc/win95/DEBUGLOG.H => src/win95/debuglog.h | 0 .../DEBUGLOG.HPP => src/win95/debuglog.hpp | 0 .../Di_func.cpp => src/win95/di_func.cpp | 0 .../win95/dummyobjectchunk.cpp | 0 .../win95/dummyobjectchunk.hpp | 0 3dc/win95/DXLOG.C => src/win95/dxlog.c | 0 3dc/win95/DXLOG.H => src/win95/dxlog.h | 0 .../ENUMCHNK.CPP => src/win95/enumchnk.cpp | 0 .../ENUMCHNK.HPP => src/win95/enumchnk.hpp | 0 .../ENUMSCH.CPP => src/win95/enumsch.cpp | 0 .../ENUMSCH.HPP => src/win95/enumsch.hpp | 0 .../ENVCHUNK.CPP => src/win95/envchunk.cpp | 0 .../ENVCHUNK.HPP => src/win95/envchunk.hpp | 0 {3dc => src}/win95/fail.c | 0 {3dc => src}/win95/fail.h | 0 {3dc => src}/win95/fragchnk.cpp | 0 {3dc => src}/win95/fragchnk.hpp | 0 .../GSPRCHNK.CPP => src/win95/gsprchnk.cpp | 0 .../GSPRCHNK.HPP => src/win95/gsprchnk.hpp | 0 .../Hash_tem.hpp => src/win95/hash_tem.hpp | 0 {3dc => src}/win95/hierchnk.cpp | 0 {3dc => src}/win95/hierchnk.hpp | 0 {3dc => src}/win95/huffman.cpp | 0 {3dc => src}/win95/huffman.hpp | 0 {3dc => src}/win95/iff.cpp | 0 {3dc => src}/win95/iff.hpp | 0 .../iff_ILBM.cpp => src/win95/iff_ilbm.cpp | 0 .../iff_ILBM.hpp => src/win95/iff_ilbm.hpp | 0 .../ILBM_ext.cpp => src/win95/ilbm_ext.cpp | 0 .../ILBM_ext.hpp => src/win95/ilbm_ext.hpp | 0 3dc/win95/INLINE.H => src/win95/inline.h | 0 {3dc => src}/win95/io.c | 0 {3dc => src}/win95/item.c | 0 3dc/win95/Krender.c => src/win95/krender.c | 0 3dc/win95/KRENDER.H => src/win95/krender.h | 0 {3dc => src}/win95/list_tem.cpp | 0 {3dc => src}/win95/list_tem.hpp | 0 .../LTCHUNK.CPP => src/win95/ltchunk.cpp | 0 .../LTCHUNK.HPP => src/win95/ltchunk.hpp | 0 {3dc => src}/win95/media.cpp | 0 {3dc => src}/win95/media.hpp | 0 .../MISHCHNK.CPP => src/win95/mishchnk.cpp | 0 .../MISHCHNK.HPP => src/win95/mishchnk.hpp | 0 .../Mmx_math.asm => src/win95/mmx_math.asm | 0 3dc/win95/MMX_MATH.H => src/win95/mmx_math.h | 0 .../OBCHUNK.CPP => src/win95/obchunk.cpp | 0 .../OBCHUNK.HPP => src/win95/obchunk.hpp | 0 {3dc => src}/win95/objedit.h | 0 .../OEChunk.cpp => src/win95/oechunk.cpp | 0 3dc/win95/OEChunk.h => src/win95/oechunk.h | 0 3dc/win95/OUR_MEM.C => src/win95/our_mem.c | 0 3dc/win95/OURASERT.H => src/win95/ourasert.h | 0 3dc/win95/PENTIME.H => src/win95/pentime.h | 0 {3dc => src}/win95/plat_shp.c | 0 {3dc => src}/win95/plat_shp.h | 0 {3dc => src}/win95/platform.h | 0 {3dc => src}/win95/plspecfn.c | 0 3dc/win95/RAD.H => src/win95/rad.h | 0 .../SCANDRAW.ASM => src/win95/scandraw.asm | 0 3dc/win95/ShowCmds.h => src/win95/showcmds.h | 0 {3dc => src}/win95/shpanim.h | 0 .../SHPCHUNK.CPP => src/win95/shpchunk.cpp | 0 .../SHPCHUNK.HPP => src/win95/shpchunk.hpp | 0 3dc/win95/SMSOPT.H => src/win95/smsopt.h | 0 .../SNDCHUNK.CPP => src/win95/sndchunk.cpp | 0 .../SNDCHUNK.HPP => src/win95/sndchunk.hpp | 0 .../Sprchunk.cpp => src/win95/sprchunk.cpp | 0 .../Sprchunk.hpp => src/win95/sprchunk.hpp | 0 3dc/win95/STRING.CPP => src/win95/string.cpp | 0 3dc/win95/STRING.HPP => src/win95/string.hpp | 0 3dc/win95/TEXIO.C => src/win95/texio.c | 0 .../TOOLCHNK.CPP => src/win95/toolchnk.cpp | 0 .../TOOLCHNK.HPP => src/win95/toolchnk.hpp | 0 .../TXIOCTRL.CPP => src/win95/txioctrl.cpp | 0 3dc/win95/TXIOCTRL.H => src/win95/txioctrl.h | 0 .../win95/videomodes.cpp | 0 .../VideoModes.h => src/win95/videomodes.h | 0 3dc/win95/VRAMTIME.C => src/win95/vramtime.c | 0 3dc/win95/VRAMTIME.H => src/win95/vramtime.h | 0 {3dc => src}/win95/win_func.cpp | 0 {3dc => src}/win95/wpchunk.cpp | 0 {3dc => src}/win95/wpchunk.hpp | 0 {3dc => src}/win95/zbuffer.c | 0 3dc/win95/ZMOUSE.H => src/win95/zmouse.h | 0 3dc/win95/Zsp.cpp => src/win95/zsp.cpp | 0 3dc/win95/Zsp.hpp => src/win95/zsp.hpp | 0 wat_release/avp.tgt | 4955 ---------- 572 files changed, 2 insertions(+), 29666 deletions(-) delete mode 100644 3dc/AvP_Alien_Readme.txt delete mode 100644 3dc/AvP_Marine_Readme.txt delete mode 100644 3dc/AvP_Predator_Readme.txt delete mode 100644 3dc/AvP_Readme+Credits.txt delete mode 100644 3dc/AvP_Readme.txt delete mode 100644 3dc/CREDITS.txt delete mode 100644 3dc/Kshape.bak delete mode 100644 3dc/SMACKW32.DLL delete mode 100644 3dc/SMACKW32.LIB delete mode 100644 3dc/avp.ico delete mode 100644 3dc/avp.rc delete mode 100644 3dc/avp/shapes/vssver.scc delete mode 100644 3dc/avp/support/vssver.scc delete mode 100644 3dc/avp/vssver.scc delete mode 100644 3dc/avp/win95/Frontend/vssver.scc delete mode 100644 3dc/avp/win95/System.bak delete mode 100644 3dc/avp/win95/gadgets/gadget.bak delete mode 100644 3dc/avp/win95/gadgets/vssver.scc delete mode 100644 3dc/avp/win95/vssver.scc delete mode 100644 3dc/avp/win95/winmain.bak delete mode 100644 3dc/binkw32.dll delete mode 100644 3dc/binkw32.lib delete mode 100644 3dc/dialog.dll delete mode 100644 3dc/dialog.lib delete mode 100644 3dc/ia3d.lib delete mode 100644 3dc/include/vssver.scc delete mode 100644 3dc/plddpvc.dll delete mode 100644 3dc/plddpvc.lnk delete mode 100644 3dc/readme.txt delete mode 100644 3dc/vssver.scc delete mode 100644 3dc/win95/SMACK.H delete mode 100644 3dc/win95/bink.c delete mode 100644 3dc/win95/bink.h delete mode 100644 3dc/win95/bink_Rad.h delete mode 100644 3dc/win95/md5.c delete mode 100644 3dc/win95/md5.h delete mode 100644 3dc/win95/smacker.c delete mode 100644 3dc/win95/smacker.h delete mode 100644 3dc/win95/vssver.scc delete mode 100644 AvP.dsp delete mode 100644 AvP.dsw delete mode 100644 AvP.opt delete mode 100644 AvP.plg delete mode 100644 License.txt delete mode 100644 avp395.mk delete mode 100644 avp395.wpj delete mode 100644 avpprog.lk1 delete mode 100644 avpprog.mk1 delete mode 100644 avpprog.tgt rename 3dc/CD Tracks.txt => cd tracks.txt (100%) rename 3dc/default.cfg => default.cfg.bin (100%) rename 3dc/ENGLISH.TXT => english.txt (100%) rename 3dc/fontbr.pgm => fontbr.pgm (100%) rename 3dc/Language.txt => language.dat (100%) rename 3dc/AFONT.C => src/afont.c (100%) rename 3dc/avp/AI_Sight.c => src/avp/ai_sight.c (100%) rename 3dc/avp/AI_Sight.h => src/avp/ai_sight.h (100%) rename {3dc => src}/avp/avpitems.cpp (100%) rename {3dc => src}/avp/avpitems.hpp (100%) rename {3dc => src}/avp/avppages.cpp (100%) rename {3dc => src}/avp/avppages.hpp (100%) rename 3dc/avp/Avpview.c => src/avp/avpview.c (100%) rename 3dc/avp/AVPVIEW.H => src/avp/avpview.h (100%) rename {3dc => src}/avp/bh_agun.c (100%) rename {3dc => src}/avp/bh_agun.h (100%) rename {3dc => src}/avp/bh_ais.c (100%) rename {3dc => src}/avp/bh_ais.h (100%) rename 3dc/avp/BH_ALIEN.C => src/avp/bh_alien.c (100%) rename 3dc/avp/BH_ALIEN.H => src/avp/bh_alien.h (100%) rename 3dc/avp/BH_BINSW.C => src/avp/bh_binsw.c (100%) rename 3dc/avp/BH_BINSW.H => src/avp/bh_binsw.h (100%) rename {3dc => src}/avp/bh_cable.c (100%) rename {3dc => src}/avp/bh_cable.h (100%) rename {3dc => src}/avp/bh_corpse.c (100%) rename {3dc => src}/avp/bh_corpse.h (100%) rename {3dc => src}/avp/bh_deathvol.c (100%) rename {3dc => src}/avp/bh_deathvol.h (100%) rename 3dc/avp/Bh_debri.c => src/avp/bh_debri.c (100%) rename {3dc => src}/avp/bh_debri.h (100%) rename {3dc => src}/avp/bh_dummy.c (100%) rename {3dc => src}/avp/bh_dummy.h (100%) rename {3dc => src}/avp/bh_fan.c (100%) rename {3dc => src}/avp/bh_fan.h (100%) rename {3dc => src}/avp/bh_far.c (100%) rename 3dc/avp/BH_FAR.H => src/avp/bh_far.h (100%) rename 3dc/avp/BH_FHUG.C => src/avp/bh_fhug.c (100%) rename 3dc/avp/BH_FHUG.H => src/avp/bh_fhug.h (100%) rename 3dc/avp/BH_GENER.C => src/avp/bh_gener.c (100%) rename 3dc/avp/BH_GENER.H => src/avp/bh_gener.h (100%) rename {3dc => src}/avp/bh_ldoor.c (100%) rename {3dc => src}/avp/bh_ldoor.h (100%) rename {3dc => src}/avp/bh_lift.c (100%) rename {3dc => src}/avp/bh_lift.h (100%) rename {3dc => src}/avp/bh_light.c (100%) rename {3dc => src}/avp/bh_light.h (100%) rename 3dc/avp/BH_LNKSW.C => src/avp/bh_lnksw.c (100%) rename 3dc/avp/BH_LNKSW.H => src/avp/bh_lnksw.h (100%) rename {3dc => src}/avp/bh_ltfx.c (100%) rename {3dc => src}/avp/bh_ltfx.h (100%) rename 3dc/avp/Bh_marin.c => src/avp/bh_marin.c (100%) rename 3dc/avp/BH_MARIN.H => src/avp/bh_marin.h (100%) rename {3dc => src}/avp/bh_mission.c (100%) rename {3dc => src}/avp/bh_mission.h (100%) rename 3dc/avp/Bh_near.c => src/avp/bh_near.c (100%) rename 3dc/avp/BH_NEAR.H => src/avp/bh_near.h (100%) rename 3dc/avp/BH_PAQ.C => src/avp/bh_paq.c (100%) rename 3dc/avp/BH_PAQ.H => src/avp/bh_paq.h (100%) rename {3dc => src}/avp/bh_pargen.c (100%) rename {3dc => src}/avp/bh_pargen.h (100%) rename {3dc => src}/avp/bh_plachier.c (100%) rename {3dc => src}/avp/bh_plachier.h (100%) rename {3dc => src}/avp/bh_plift.c (100%) rename {3dc => src}/avp/bh_plift.h (100%) rename 3dc/avp/Bh_pred.c => src/avp/bh_pred.c (100%) rename 3dc/avp/BH_PRED.H => src/avp/bh_pred.h (100%) rename {3dc => src}/avp/bh_queen.c (100%) rename {3dc => src}/avp/bh_queen.h (100%) rename 3dc/avp/bh_RubberDuck.c => src/avp/bh_rubberduck.c (100%) rename 3dc/avp/bh_RubberDuck.h => src/avp/bh_rubberduck.h (100%) rename {3dc => src}/avp/bh_selfdest.c (100%) rename {3dc => src}/avp/bh_selfdest.h (100%) rename {3dc => src}/avp/bh_snds.c (100%) rename {3dc => src}/avp/bh_snds.h (100%) rename {3dc => src}/avp/bh_spcl.c (100%) rename {3dc => src}/avp/bh_spcl.h (100%) rename 3dc/avp/BH_SWDOR.C => src/avp/bh_swdor.c (100%) rename 3dc/avp/BH_SWDOR.H => src/avp/bh_swdor.h (100%) rename {3dc => src}/avp/bh_track.c (100%) rename {3dc => src}/avp/bh_track.h (100%) rename 3dc/avp/BH_TYPES.C => src/avp/bh_types.c (100%) rename 3dc/avp/BH_TYPES.H => src/avp/bh_types.h (100%) rename {3dc => src}/avp/bh_videoscreen.c (100%) rename {3dc => src}/avp/bh_videoscreen.h (100%) rename {3dc => src}/avp/bh_waypt.c (100%) rename {3dc => src}/avp/bh_waypt.h (100%) rename {3dc => src}/avp/bh_weap.c (100%) rename {3dc => src}/avp/bh_weap.h (100%) rename 3dc/avp/Bh_xeno.c => src/avp/bh_xeno.c (100%) rename 3dc/avp/BH_XENO.H => src/avp/bh_xeno.h (100%) rename 3dc/avp/BonusAbilities.c => src/avp/bonusabilities.c (100%) rename 3dc/avp/BonusAbilities.h => src/avp/bonusabilities.h (100%) rename {3dc => src}/avp/cconvars.cpp (100%) rename 3dc/avp/CDTrackSelection.cpp => src/avp/cdtrackselection.cpp (100%) rename 3dc/avp/CDTrackSelection.h => src/avp/cdtrackselection.h (100%) rename 3dc/avp/CheatModes.c => src/avp/cheatmodes.c (100%) rename {3dc => src}/avp/comp_map.c (100%) rename 3dc/avp/COMP_SHP.C => src/avp/comp_shp.c (100%) rename 3dc/avp/COMP_SHP.H => src/avp/comp_shp.h (100%) rename 3dc/avp/ConsoleLog.cpp => src/avp/consolelog.cpp (100%) rename 3dc/avp/ConsoleLog.hpp => src/avp/consolelog.hpp (100%) rename 3dc/avp/DATABASE.C => src/avp/database.c (100%) rename 3dc/avp/DATABASE.H => src/avp/database.h (100%) rename {3dc => src}/avp/davehook.cpp (100%) rename {3dc => src}/avp/davehook.h (100%) rename {3dc => src}/avp/deaths.c (100%) rename {3dc => src}/avp/decal.c (100%) rename {3dc => src}/avp/decal.h (100%) rename 3dc/avp/DetailLevels.c => src/avp/detaillevels.c (100%) rename 3dc/avp/DetailLevels.h => src/avp/detaillevels.h (100%) rename 3dc/avp/Dynamics.c => src/avp/dynamics.c (100%) rename 3dc/avp/DYNAMICS.H => src/avp/dynamics.h (100%) rename 3dc/avp/DYNBLOCK.C => src/avp/dynblock.c (100%) rename 3dc/avp/DYNBLOCK.H => src/avp/dynblock.h (100%) rename 3dc/avp/EQUATES.H => src/avp/equates.h (100%) rename 3dc/avp/EQUIPMNT.C => src/avp/equipmnt.c (100%) rename 3dc/avp/EQUIPMNT.H => src/avp/equipmnt.h (100%) rename {3dc => src}/avp/equiputl.cpp (100%) rename {3dc => src}/avp/equiputl.hpp (100%) rename {3dc => src}/avp/extents.c (100%) rename {3dc => src}/avp/extents.h (100%) rename 3dc/avp/Game.c => src/avp/game.c (100%) rename {3dc => src}/avp/game_statistics.c (100%) rename {3dc => src}/avp/game_statistics.h (100%) rename {3dc => src}/avp/gamecmds.cpp (100%) rename 3dc/avp/GAMEDEF.H => src/avp/gamedef.h (100%) rename {3dc => src}/avp/gameflow.c (100%) rename {3dc => src}/avp/gameflow.h (100%) rename {3dc => src}/avp/gamevars.cpp (100%) rename 3dc/avp/HModel.c => src/avp/hmodel.c (100%) rename {3dc => src}/avp/hmodel.h (100%) rename 3dc/avp/Hud.c => src/avp/hud.c (100%) rename 3dc/avp/HUD_MAP.C => src/avp/hud_map.c (100%) rename 3dc/avp/HUD_MAP.H => src/avp/hud_map.h (100%) rename 3dc/avp/HUDDEFS.H => src/avp/huddefs.h (100%) rename 3dc/avp/Inventry.c => src/avp/inventry.c (100%) rename 3dc/avp/INVENTRY.H => src/avp/inventry.h (100%) rename {3dc => src}/avp/langenum.h (100%) rename 3dc/avp/LANGUAGE.C => src/avp/language.c (100%) rename 3dc/avp/LANGUAGE.H => src/avp/language.h (100%) rename 3dc/avp/LIGHTING.C => src/avp/lighting.c (100%) rename 3dc/avp/LIGHTING.H => src/avp/lighting.h (100%) rename {3dc => src}/avp/load_shp.c (100%) rename {3dc => src}/avp/load_shp.h (100%) rename {3dc => src}/avp/los.c (100%) rename {3dc => src}/avp/los.h (100%) rename {3dc => src}/avp/ltfx_exp.h (100%) rename 3dc/avp/MACRO.H => src/avp/macro.h (100%) rename 3dc/avp/MAPS.C => src/avp/maps.c (100%) rename {3dc => src}/avp/mempool.c (100%) rename {3dc => src}/avp/mempool.h (100%) rename {3dc => src}/avp/menudefs.h (100%) rename {3dc => src}/avp/menus.c (100%) rename 3dc/avp/MessageHistory.c => src/avp/messagehistory.c (100%) rename {3dc => src}/avp/missions.cpp (100%) rename {3dc => src}/avp/missions.hpp (100%) rename {3dc => src}/avp/movement.c (100%) rename {3dc => src}/avp/mp_launch.c (100%) rename 3dc/avp/Paintball.c => src/avp/paintball.c (100%) rename 3dc/avp/Paintball.h => src/avp/paintball.h (100%) rename {3dc => src}/avp/particle.c (100%) rename {3dc => src}/avp/particle.h (100%) rename 3dc/avp/PFARLOCS.C => src/avp/pfarlocs.c (100%) rename 3dc/avp/PFARLOCS.H => src/avp/pfarlocs.h (100%) rename 3dc/avp/PHEROMON.C => src/avp/pheromon.c (100%) rename 3dc/avp/PHEROMON.H => src/avp/pheromon.h (100%) rename 3dc/avp/Player.c => src/avp/player.c (100%) rename 3dc/avp/Pmove.c => src/avp/pmove.c (100%) rename 3dc/avp/PMOVE.H => src/avp/pmove.h (100%) rename {3dc => src}/avp/projfont.h (100%) rename {3dc => src}/avp/projmenu.cpp (100%) rename {3dc => src}/avp/projmenu.hpp (100%) rename {3dc => src}/avp/projtext.h (100%) rename 3dc/avp/Psnd.c => src/avp/psnd.c (100%) rename 3dc/avp/PSND.H => src/avp/psnd.h (100%) rename 3dc/avp/PSNDPROJ.C => src/avp/psndproj.c (100%) rename 3dc/avp/PSNDPROJ.H => src/avp/psndproj.h (100%) rename 3dc/avp/PVISIBLE.C => src/avp/pvisible.c (100%) rename 3dc/avp/PVISIBLE.H => src/avp/pvisible.h (100%) rename {3dc => src}/avp/savegame.c (100%) rename {3dc => src}/avp/savegame.h (100%) rename {3dc => src}/avp/scream.cpp (100%) rename {3dc => src}/avp/scream.h (100%) rename 3dc/avp/SecStats.c => src/avp/secstats.c (100%) rename {3dc => src}/avp/sequnces.h (100%) rename {3dc => src}/avp/sfx.c (100%) rename {3dc => src}/avp/sfx.h (100%) rename 3dc/avp/shapes/CUBE.C => src/avp/shapes/cube.c (100%) rename 3dc/avp/SMOVDATA.C => src/avp/smovdata.c (100%) rename {3dc => src}/avp/statpane.h (100%) rename 3dc/avp/STRATDEF.C => src/avp/stratdef.c (100%) rename 3dc/avp/STRATDEF.H => src/avp/stratdef.h (100%) rename {3dc => src}/avp/support/command.hpp (100%) rename {3dc => src}/avp/support/consbind.cpp (100%) rename {3dc => src}/avp/support/consbind.hpp (100%) rename {3dc => src}/avp/support/consbtch.cpp (100%) rename {3dc => src}/avp/support/consbtch.hpp (100%) rename 3dc/avp/support/COORDSTR.CPP => src/avp/support/coordstr.cpp (100%) rename 3dc/avp/support/COORDSTR.HPP => src/avp/support/coordstr.hpp (100%) rename 3dc/avp/support/DAEMON.CPP => src/avp/support/daemon.cpp (100%) rename {3dc => src}/avp/support/daemon.h (100%) rename {3dc => src}/avp/support/dcontext.hpp (100%) rename {3dc => src}/avp/support/expvar.hpp (100%) rename {3dc => src}/avp/support/indexfnt.cpp (100%) rename {3dc => src}/avp/support/indexfnt.hpp (100%) rename {3dc => src}/avp/support/ourbool.h (100%) rename {3dc => src}/avp/support/r2base.cpp (100%) rename {3dc => src}/avp/support/r2base.h (100%) rename {3dc => src}/avp/support/r2pos666.cpp (100%) rename {3dc => src}/avp/support/r2pos666.hpp (100%) rename {3dc => src}/avp/support/rebitems.cpp (100%) rename {3dc => src}/avp/support/rebitems.hpp (100%) rename {3dc => src}/avp/support/rebmenus.cpp (100%) rename {3dc => src}/avp/support/rebmenus.hpp (100%) rename {3dc => src}/avp/support/reflist.cpp (100%) rename {3dc => src}/avp/support/reflist.hpp (100%) rename {3dc => src}/avp/support/refobj.cpp (100%) rename {3dc => src}/avp/support/refobj.hpp (100%) rename {3dc => src}/avp/support/rentrntq.cpp (100%) rename {3dc => src}/avp/support/rentrntq.h (100%) rename {3dc => src}/avp/support/scstring.cpp (100%) rename {3dc => src}/avp/support/scstring.hpp (100%) rename {3dc => src}/avp/support/strtab.cpp (100%) rename {3dc => src}/avp/support/strtab.hpp (100%) rename {3dc => src}/avp/support/strutil.c (100%) rename {3dc => src}/avp/support/strutil.h (100%) rename {3dc => src}/avp/support/tallfont.cpp (100%) rename {3dc => src}/avp/support/tallfont.hpp (100%) rename {3dc => src}/avp/support/trig666.cpp (100%) rename {3dc => src}/avp/support/trig666.hpp (100%) rename {3dc => src}/avp/support/wrapstr.cpp (100%) rename {3dc => src}/avp/support/wrapstr.hpp (100%) rename {3dc => src}/avp/targeting.c (100%) rename {3dc => src}/avp/targeting.h (100%) rename {3dc => src}/avp/track.c (100%) rename {3dc => src}/avp/track.h (100%) rename 3dc/avp/TRIGGERS.C => src/avp/triggers.c (100%) rename 3dc/avp/TRIGGERS.H => src/avp/triggers.h (100%) rename 3dc/avp/Weapons.c => src/avp/weapons.c (100%) rename 3dc/avp/WEAPONS.H => src/avp/weapons.h (100%) rename 3dc/avp/win95/AVPCHUNK.CPP => src/avp/win95/avpchunk.cpp (100%) rename 3dc/avp/win95/AVPCHUNK.HPP => src/avp/win95/avpchunk.hpp (100%) rename 3dc/avp/win95/AvpReg.cpp => src/avp/win95/avpreg.cpp (100%) rename 3dc/avp/win95/AvpReg.hpp => src/avp/win95/avpreg.hpp (100%) rename 3dc/avp/win95/BMP2.H => src/avp/win95/bmp2.h (100%) rename 3dc/avp/win95/CHEAT.C => src/avp/win95/cheat.c (100%) rename 3dc/avp/win95/CHEAT.H => src/avp/win95/cheat.h (100%) rename {3dc => src}/avp/win95/chtcodes.cpp (100%) rename {3dc => src}/avp/win95/d3d_hud.cpp (100%) rename {3dc => src}/avp/win95/d3d_hud.h (100%) rename {3dc => src}/avp/win95/d3d_render.cpp (100%) rename {3dc => src}/avp/win95/d3d_render.h (100%) rename {3dc => src}/avp/win95/datatype.h (100%) rename {3dc => src}/avp/win95/dbdefs.h (100%) rename 3dc/avp/win95/Ddplat.cpp => src/avp/win95/ddplat.cpp (100%) rename 3dc/avp/win95/DirectPlay.c => src/avp/win95/directplay.c (100%) rename 3dc/avp/win95/Dp_func.c => src/avp/win95/dp_func.c (100%) rename 3dc/avp/win95/Dp_func.h => src/avp/win95/dp_func.h (100%) rename 3dc/avp/win95/dp_Sprh.h => src/avp/win95/dp_sprh.h (100%) rename {3dc => src}/avp/win95/dplayext.c (100%) rename {3dc => src}/avp/win95/dplayext.h (100%) rename {3dc => src}/avp/win95/dx_proj.cpp (100%) rename 3dc/avp/win95/EAX.H => src/avp/win95/eax.h (100%) rename {3dc => src}/avp/win95/endianio.c (100%) rename {3dc => src}/avp/win95/endianio.h (100%) rename 3dc/avp/win95/FFREAD.CPP => src/avp/win95/ffread.cpp (100%) rename 3dc/avp/win95/FFREAD.HPP => src/avp/win95/ffread.hpp (100%) rename 3dc/avp/win95/FFSTDIO.CPP => src/avp/win95/ffstdio.cpp (100%) rename 3dc/avp/win95/FFSTDIO.H => src/avp/win95/ffstdio.h (100%) rename {3dc => src}/avp/win95/font.h (100%) rename 3dc/avp/win95/Frontend/AvP_EnvInfo.c => src/avp/win95/frontend/avp_envinfo.c (100%) rename 3dc/avp/win95/Frontend/AvP_EnvInfo.h => src/avp/win95/frontend/avp_envinfo.h (100%) rename 3dc/avp/win95/Frontend/AvP_Intro.cpp => src/avp/win95/frontend/avp_intro.cpp (100%) rename 3dc/avp/win95/Frontend/AvP_MenuData.c => src/avp/win95/frontend/avp_menudata.c (100%) rename 3dc/avp/win95/Frontend/AvP_MenuGfx.cpp => src/avp/win95/frontend/avp_menugfx.cpp (100%) rename 3dc/avp/win95/Frontend/AvP_MenuGfx.hpp => src/avp/win95/frontend/avp_menugfx.hpp (100%) rename 3dc/avp/win95/Frontend/AvP_Menus.c => src/avp/win95/frontend/avp_menus.c (100%) rename 3dc/avp/win95/Frontend/AvP_Menus.h => src/avp/win95/frontend/avp_menus.h (100%) rename 3dc/avp/win95/Frontend/AvP_MP_Config.cpp => src/avp/win95/frontend/avp_mp_config.cpp (100%) rename 3dc/avp/win95/Frontend/AvP_MP_Config.h => src/avp/win95/frontend/avp_mp_config.h (100%) rename 3dc/avp/win95/Frontend/AvP_UserProfile.cpp => src/avp/win95/frontend/avp_userprofile.cpp (100%) rename 3dc/avp/win95/Frontend/AvP_UserProfile.h => src/avp/win95/frontend/avp_userprofile.h (100%) rename {3dc => src}/avp/win95/gadgets/ahudgadg.cpp (100%) rename {3dc => src}/avp/win95/gadgets/ahudgadg.hpp (100%) rename {3dc => src}/avp/win95/gadgets/conscmnd.cpp (100%) rename {3dc => src}/avp/win95/gadgets/conscmnd.hpp (100%) rename {3dc => src}/avp/win95/gadgets/conssym.cpp (100%) rename {3dc => src}/avp/win95/gadgets/conssym.hpp (100%) rename {3dc => src}/avp/win95/gadgets/consvar.cpp (100%) rename {3dc => src}/avp/win95/gadgets/consvar.hpp (100%) rename {3dc => src}/avp/win95/gadgets/gadget.cpp (100%) rename {3dc => src}/avp/win95/gadgets/gadget.h (100%) rename {3dc => src}/avp/win95/gadgets/hudgadg.cpp (100%) rename {3dc => src}/avp/win95/gadgets/hudgadg.hpp (100%) rename {3dc => src}/avp/win95/gadgets/rootgadg.cpp (100%) rename {3dc => src}/avp/win95/gadgets/rootgadg.hpp (100%) rename {3dc => src}/avp/win95/gadgets/t_ingadg.cpp (100%) rename {3dc => src}/avp/win95/gadgets/t_ingadg.hpp (100%) rename {3dc => src}/avp/win95/gadgets/teletype.cpp (100%) rename {3dc => src}/avp/win95/gadgets/teletype.hpp (100%) rename {3dc => src}/avp/win95/gadgets/textexp.cpp (100%) rename {3dc => src}/avp/win95/gadgets/textexp.hpp (100%) rename {3dc => src}/avp/win95/gadgets/textin.cpp (100%) rename {3dc => src}/avp/win95/gadgets/textin.hpp (100%) rename {3dc => src}/avp/win95/gadgets/trepgadg.cpp (100%) rename {3dc => src}/avp/win95/gadgets/trepgadg.hpp (100%) rename 3dc/avp/win95/GAMEPLAT.H => src/avp/win95/gameplat.h (100%) rename 3dc/avp/win95/GammaControl.cpp => src/avp/win95/gammacontrol.cpp (100%) rename 3dc/avp/win95/GammaControl.h => src/avp/win95/gammacontrol.h (100%) rename {3dc => src}/avp/win95/gflwplat.c (100%) rename 3dc/avp/win95/HEAP_TEM.HPP => src/avp/win95/heap_tem.hpp (100%) rename {3dc => src}/avp/win95/hierplace.cpp (100%) rename {3dc => src}/avp/win95/hierplace.hpp (100%) rename 3dc/avp/win95/HUD_DATA.H => src/avp/win95/hud_data.h (100%) rename 3dc/avp/win95/HUD_layout.h => src/avp/win95/hud_layout.h (100%) rename 3dc/avp/win95/HUDGFX.H => src/avp/win95/hudgfx.h (100%) rename 3dc/avp/win95/Ia3d.h => src/avp/win95/ia3d.h (99%) rename {3dc => src}/avp/win95/intro.cpp (100%) rename {3dc => src}/avp/win95/intro.hpp (100%) rename {3dc => src}/avp/win95/iofocus.cpp (100%) rename {3dc => src}/avp/win95/iofocus.h (100%) rename {3dc => src}/avp/win95/jsndsup.cpp (100%) rename {3dc => src}/avp/win95/jsndsup.h (100%) rename 3dc/avp/win95/KZSORT.C => src/avp/win95/kzsort.c (100%) rename 3dc/avp/win95/KZSORT.H => src/avp/win95/kzsort.h (100%) rename 3dc/avp/win95/LANGPLAT.C => src/avp/win95/langplat.c (100%) rename {3dc => src}/avp/win95/menugfx.h (100%) rename 3dc/avp/win95/MENUPLAT.CPP => src/avp/win95/menuplat.cpp (100%) rename {3dc => src}/avp/win95/modcmds.cpp (100%) rename {3dc => src}/avp/win95/modcmds.hpp (100%) rename 3dc/avp/win95/MouseCentreing.cpp => src/avp/win95/mousecentreing.cpp (100%) rename 3dc/avp/win95/MULTMENU.C => src/avp/win95/multmenu.c (100%) rename 3dc/avp/win95/MULTMENU.H => src/avp/win95/multmenu.h (100%) rename 3dc/avp/win95/NPCSETUP.CPP => src/avp/win95/npcsetup.cpp (100%) rename 3dc/avp/win95/NPCSETUP.H => src/avp/win95/npcsetup.h (100%) rename 3dc/avp/win95/Objsetup.cpp => src/avp/win95/objsetup.cpp (100%) rename 3dc/avp/win95/OBJSETUP.HPP => src/avp/win95/objsetup.hpp (100%) rename 3dc/avp/win95/PathChnk.cpp => src/avp/win95/pathchnk.cpp (100%) rename 3dc/avp/win95/PathChnk.hpp => src/avp/win95/pathchnk.hpp (100%) rename 3dc/avp/win95/PCMENUS.CPP => src/avp/win95/pcmenus.cpp (100%) rename 3dc/avp/win95/PCMENUS.H => src/avp/win95/pcmenus.h (100%) rename 3dc/avp/win95/PCPAUSE.C => src/avp/win95/pcpause.c (100%) rename 3dc/avp/win95/PLATSUP.C => src/avp/win95/platsup.c (100%) rename 3dc/avp/win95/Pldghost.c => src/avp/win95/pldghost.c (100%) rename 3dc/avp/win95/PLDGHOST.H => src/avp/win95/pldghost.h (100%) rename 3dc/avp/win95/Pldnet.c => src/avp/win95/pldnet.c (100%) rename 3dc/avp/win95/Pldnet.h => src/avp/win95/pldnet.h (100%) rename {3dc => src}/avp/win95/progress_bar.cpp (100%) rename {3dc => src}/avp/win95/progress_bar.h (100%) rename 3dc/avp/win95/Projload.cpp => src/avp/win95/projload.cpp (100%) rename 3dc/avp/win95/PROJLOAD.HPP => src/avp/win95/projload.hpp (100%) rename 3dc/avp/win95/Psndplat.c => src/avp/win95/psndplat.c (100%) rename 3dc/avp/win95/PSNDPLAT.H => src/avp/win95/psndplat.h (100%) rename 3dc/avp/win95/SCRSHOT.CPP => src/avp/win95/scrshot.cpp (100%) rename 3dc/avp/win95/SCRSHOT.HPP => src/avp/win95/scrshot.hpp (100%) rename 3dc/avp/win95/STRACHNK.CPP => src/avp/win95/strachnk.cpp (100%) rename 3dc/avp/win95/Strachnk.hpp => src/avp/win95/strachnk.hpp (100%) rename {3dc => src}/avp/win95/system.c (100%) rename 3dc/avp/win95/System.h => src/avp/win95/system.h (100%) rename 3dc/avp/win95/USR_IO.C => src/avp/win95/usr_io.c (100%) rename 3dc/avp/win95/USR_IO.H => src/avp/win95/usr_io.h (100%) rename 3dc/avp/win95/VISION.C => src/avp/win95/vision.c (100%) rename 3dc/avp/win95/VISION.H => src/avp/win95/vision.h (100%) rename 3dc/avp/win95/VMANPSET.H => src/avp/win95/vmanpset.h (100%) rename {3dc => src}/avp/win95/win_proj.cpp (100%) rename {3dc => src}/avp/win95/winmain.c (100%) rename {3dc => src}/frustrum.c (100%) rename {3dc => src}/frustrum.h (100%) rename 3dc/GENPARAM.TXT => src/genparam.txt (100%) rename {3dc => src}/include/3dc.h (100%) rename {3dc => src}/include/mem3dc.h (100%) rename {3dc => src}/include/module.h (100%) rename {3dc => src}/include/prototyp.h (100%) rename {3dc => src}/include/shape.h (100%) rename 3dc/Kshape.c => src/kshape.c (100%) rename 3dc/KSHAPE.H => src/kshape.h (100%) rename 3dc/MAP.C => src/map.c (100%) rename 3dc/Maths.c => src/maths.c (97%) rename {3dc => src}/mem3dc.c (100%) rename 3dc/MEM3DCPP.CPP => src/mem3dcpp.cpp (100%) rename 3dc/MODULE.C => src/module.c (100%) rename 3dc/MORPH.C => src/morph.c (100%) rename {3dc => src}/movement.txt (100%) rename 3dc/MSLHAND.C => src/mslhand.c (100%) rename 3dc/MSLHAND.H => src/mslhand.h (100%) rename 3dc/OBJECT.C => src/object.c (100%) rename {3dc => src}/shpanim.c (100%) rename {3dc => src}/sphere.c (100%) rename {3dc => src}/sphere.h (100%) rename 3dc/TABLES.C => src/tables.c (100%) rename 3dc/VDB.C => src/vdb.c (100%) rename {3dc => src}/version.c (100%) rename {3dc => src}/version.h (75%) rename {3dc => src}/win95/advwin32.h (100%) rename {3dc => src}/win95/alt_tab.cpp (100%) rename {3dc => src}/win95/alt_tab.h (100%) rename 3dc/win95/ANIMCHNK.CPP => src/win95/animchnk.cpp (100%) rename 3dc/win95/ANIMCHNK.HPP => src/win95/animchnk.hpp (100%) rename {3dc => src}/win95/animobs.cpp (100%) rename {3dc => src}/win95/animobs.hpp (100%) rename {3dc => src}/win95/aw.h (100%) rename 3dc/win95/awBmpLd.cpp => src/win95/awbmpld.cpp (100%) rename 3dc/win95/awIffLd.cpp => src/win95/awiffld.cpp (100%) rename 3dc/win95/awPnmLd.cpp => src/win95/awpnmld.cpp (100%) rename 3dc/win95/awTexLd.cpp => src/win95/awtexld.cpp (100%) rename 3dc/win95/awTexLd.h => src/win95/awtexld.h (100%) rename 3dc/win95/awTexLd.hpp => src/win95/awtexld.hpp (100%) rename 3dc/win95/BMPNAMES.CPP => src/win95/bmpnames.cpp (100%) rename 3dc/win95/BMPNAMES.HPP => src/win95/bmpnames.hpp (100%) rename 3dc/win95/CD_player.c => src/win95/cd_player.c (100%) rename 3dc/win95/CD_player.h => src/win95/cd_player.h (100%) rename 3dc/win95/CHNKIMAG.CPP => src/win95/chnkimag.cpp (100%) rename 3dc/win95/CHNKIMAG.HPP => src/win95/chnkimag.hpp (100%) rename {3dc => src}/win95/chnkload.cpp (100%) rename 3dc/win95/CHNKLOAD.H => src/win95/chnkload.h (100%) rename 3dc/win95/CHNKLOAD.HPP => src/win95/chnkload.hpp (100%) rename 3dc/win95/CHNKTEXI.CPP => src/win95/chnktexi.cpp (100%) rename 3dc/win95/CHNKTEXI.H => src/win95/chnktexi.h (100%) rename 3dc/win95/CHNKTYPE.CPP => src/win95/chnktype.cpp (100%) rename 3dc/win95/CHNKTYPE.HPP => src/win95/chnktype.hpp (100%) rename 3dc/win95/Chunk.cpp => src/win95/chunk.cpp (100%) rename 3dc/win95/Chunk.hpp => src/win95/chunk.hpp (100%) rename 3dc/win95/CHUNKPAL.CPP => src/win95/chunkpal.cpp (100%) rename 3dc/win95/CHUNKPAL.HPP => src/win95/chunkpal.hpp (100%) rename 3dc/win95/CL_INIT.CPP => src/win95/cl_init.cpp (100%) rename 3dc/win95/CL_INIT.H => src/win95/cl_init.h (100%) rename {3dc => src}/win95/d3_func.cpp (100%) rename {3dc => src}/win95/d3_func.h (100%) rename 3dc/win95/D3_IMAGE.CPP => src/win95/d3_image.cpp (100%) rename 3dc/win95/D3_IMAGE.HPP => src/win95/d3_image.hpp (100%) rename {3dc => src}/win95/d3dmacs.h (100%) rename {3dc => src}/win95/d3load.c (100%) rename {3dc => src}/win95/db.c (100%) rename 3dc/win95/DB.H => src/win95/db.h (100%) rename 3dc/win95/DD_FUNC.CPP => src/win95/dd_func.cpp (100%) rename 3dc/win95/DEBUGLOG.CPP => src/win95/debuglog.cpp (100%) rename 3dc/win95/DEBUGLOG.H => src/win95/debuglog.h (100%) rename 3dc/win95/DEBUGLOG.HPP => src/win95/debuglog.hpp (100%) rename 3dc/win95/Di_func.cpp => src/win95/di_func.cpp (100%) rename 3dc/win95/DummyObjectChunk.cpp => src/win95/dummyobjectchunk.cpp (100%) rename 3dc/win95/DummyObjectChunk.hpp => src/win95/dummyobjectchunk.hpp (100%) rename 3dc/win95/DXLOG.C => src/win95/dxlog.c (100%) rename 3dc/win95/DXLOG.H => src/win95/dxlog.h (100%) rename 3dc/win95/ENUMCHNK.CPP => src/win95/enumchnk.cpp (100%) rename 3dc/win95/ENUMCHNK.HPP => src/win95/enumchnk.hpp (100%) rename 3dc/win95/ENUMSCH.CPP => src/win95/enumsch.cpp (100%) rename 3dc/win95/ENUMSCH.HPP => src/win95/enumsch.hpp (100%) rename 3dc/win95/ENVCHUNK.CPP => src/win95/envchunk.cpp (100%) rename 3dc/win95/ENVCHUNK.HPP => src/win95/envchunk.hpp (100%) rename {3dc => src}/win95/fail.c (100%) rename {3dc => src}/win95/fail.h (100%) rename {3dc => src}/win95/fragchnk.cpp (100%) rename {3dc => src}/win95/fragchnk.hpp (100%) rename 3dc/win95/GSPRCHNK.CPP => src/win95/gsprchnk.cpp (100%) rename 3dc/win95/GSPRCHNK.HPP => src/win95/gsprchnk.hpp (100%) rename 3dc/win95/Hash_tem.hpp => src/win95/hash_tem.hpp (100%) rename {3dc => src}/win95/hierchnk.cpp (100%) rename {3dc => src}/win95/hierchnk.hpp (100%) rename {3dc => src}/win95/huffman.cpp (100%) rename {3dc => src}/win95/huffman.hpp (100%) rename {3dc => src}/win95/iff.cpp (100%) rename {3dc => src}/win95/iff.hpp (100%) rename 3dc/win95/iff_ILBM.cpp => src/win95/iff_ilbm.cpp (100%) rename 3dc/win95/iff_ILBM.hpp => src/win95/iff_ilbm.hpp (100%) rename 3dc/win95/ILBM_ext.cpp => src/win95/ilbm_ext.cpp (100%) rename 3dc/win95/ILBM_ext.hpp => src/win95/ilbm_ext.hpp (100%) rename 3dc/win95/INLINE.H => src/win95/inline.h (100%) rename {3dc => src}/win95/io.c (100%) rename {3dc => src}/win95/item.c (100%) rename 3dc/win95/Krender.c => src/win95/krender.c (100%) rename 3dc/win95/KRENDER.H => src/win95/krender.h (100%) rename {3dc => src}/win95/list_tem.cpp (100%) rename {3dc => src}/win95/list_tem.hpp (100%) rename 3dc/win95/LTCHUNK.CPP => src/win95/ltchunk.cpp (100%) rename 3dc/win95/LTCHUNK.HPP => src/win95/ltchunk.hpp (100%) rename {3dc => src}/win95/media.cpp (100%) rename {3dc => src}/win95/media.hpp (100%) rename 3dc/win95/MISHCHNK.CPP => src/win95/mishchnk.cpp (100%) rename 3dc/win95/MISHCHNK.HPP => src/win95/mishchnk.hpp (100%) rename 3dc/win95/Mmx_math.asm => src/win95/mmx_math.asm (100%) rename 3dc/win95/MMX_MATH.H => src/win95/mmx_math.h (100%) rename 3dc/win95/OBCHUNK.CPP => src/win95/obchunk.cpp (100%) rename 3dc/win95/OBCHUNK.HPP => src/win95/obchunk.hpp (100%) rename {3dc => src}/win95/objedit.h (100%) rename 3dc/win95/OEChunk.cpp => src/win95/oechunk.cpp (100%) rename 3dc/win95/OEChunk.h => src/win95/oechunk.h (100%) rename 3dc/win95/OUR_MEM.C => src/win95/our_mem.c (100%) rename 3dc/win95/OURASERT.H => src/win95/ourasert.h (100%) rename 3dc/win95/PENTIME.H => src/win95/pentime.h (100%) rename {3dc => src}/win95/plat_shp.c (100%) rename {3dc => src}/win95/plat_shp.h (100%) rename {3dc => src}/win95/platform.h (100%) rename {3dc => src}/win95/plspecfn.c (100%) rename 3dc/win95/RAD.H => src/win95/rad.h (100%) rename 3dc/win95/SCANDRAW.ASM => src/win95/scandraw.asm (100%) rename 3dc/win95/ShowCmds.h => src/win95/showcmds.h (100%) rename {3dc => src}/win95/shpanim.h (100%) rename 3dc/win95/SHPCHUNK.CPP => src/win95/shpchunk.cpp (100%) rename 3dc/win95/SHPCHUNK.HPP => src/win95/shpchunk.hpp (100%) rename 3dc/win95/SMSOPT.H => src/win95/smsopt.h (100%) rename 3dc/win95/SNDCHUNK.CPP => src/win95/sndchunk.cpp (100%) rename 3dc/win95/SNDCHUNK.HPP => src/win95/sndchunk.hpp (100%) rename 3dc/win95/Sprchunk.cpp => src/win95/sprchunk.cpp (100%) rename 3dc/win95/Sprchunk.hpp => src/win95/sprchunk.hpp (100%) rename 3dc/win95/STRING.CPP => src/win95/string.cpp (100%) rename 3dc/win95/STRING.HPP => src/win95/string.hpp (100%) rename 3dc/win95/TEXIO.C => src/win95/texio.c (100%) rename 3dc/win95/TOOLCHNK.CPP => src/win95/toolchnk.cpp (100%) rename 3dc/win95/TOOLCHNK.HPP => src/win95/toolchnk.hpp (100%) rename 3dc/win95/TXIOCTRL.CPP => src/win95/txioctrl.cpp (100%) rename 3dc/win95/TXIOCTRL.H => src/win95/txioctrl.h (100%) rename 3dc/win95/VideoModes.cpp => src/win95/videomodes.cpp (100%) rename 3dc/win95/VideoModes.h => src/win95/videomodes.h (100%) rename 3dc/win95/VRAMTIME.C => src/win95/vramtime.c (100%) rename 3dc/win95/VRAMTIME.H => src/win95/vramtime.h (100%) rename {3dc => src}/win95/win_func.cpp (100%) rename {3dc => src}/win95/wpchunk.cpp (100%) rename {3dc => src}/win95/wpchunk.hpp (100%) rename {3dc => src}/win95/zbuffer.c (100%) rename 3dc/win95/ZMOUSE.H => src/win95/zmouse.h (100%) rename 3dc/win95/Zsp.cpp => src/win95/zsp.cpp (100%) rename 3dc/win95/Zsp.hpp => src/win95/zsp.hpp (100%) delete mode 100644 wat_release/avp.tgt diff --git a/3dc/AvP_Alien_Readme.txt b/3dc/AvP_Alien_Readme.txt deleted file mode 100644 index 4e5ad5a..0000000 --- a/3dc/AvP_Alien_Readme.txt +++ /dev/null @@ -1,262 +0,0 @@ -*********************************************************************** - - - - ALIENS VERSUS PREDATOR - Alien Demo - - Version 1.2 - Readme File - Jan 20th 1999 - - - -*********************************************************************** - - CONTENTS - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - 2. DEMO OBJECTIVES - 3. INSTALLATION - 4. GAME CONTROLS - 5. ALIEN ABILITIES - 6. ALIEN WEAPONS - 7. CONTACT & LEGAL INFORMATION - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - -*********************************************************************** - -Intel Pentium 200 MMX PC (or 100% compatible CPU) -DirectX supported 3D Accelerator Card -DirectX v.6 (Included on Installation CD) -32Mb RAM (64Mb recommended) -64Mb free Hard Drive -Windows 95 - - -The ALIENS VERSUS PREDATOR Demo is a work in-progress. Thus it is not -fully optimized and configured for lower spec machines. These issues -will be corrected for the full retail version, giving the end user -control over engine and special effect variables ensuring smooth -gameplay over a wide variety of CPUs, accelerator cards and RAM. - -Due to the complexity of the ALIENS VERSUS PREDATOR models, users with -32Mb of RAM may experience some memory paging, especially when exiting -the game and returning to Windows. These problems will be fixed for the -release version of the game. - - -KNOWN ISSUE WITH SOUNDBLASTER LIVE! CARDS: - -Currently with SoundBlaster Live! cards, the EAX environmental -extensions are applied to all the audio being played from the CD. -While this does not necessarily interfere with the game; to stop -it from happening, follow these steps: - -1. Access your Creative AudioHQ, usually found in - - Start Menu --> Programs --> Creative--> Soundblaster Live! --> AudioHQ - -2. Access the 'Environmental Audio' control applet - -3. Click on the 'Options' tab within the Environmental Audio window. - -4. Check the 'Always Save Changes Automatically' preference box. - -5. Click the 'Source' tab. - -6. Select the CD Digital source and set the Reverb & Chorus amounts - to 0%. Leave the Original Sound source at 100%. - -7. Do the same with the CD Audio source. (Reverb & Chorus at 0%) - -8. Click on 'Close' and you will be prompted to input a name for your - new settings. We suggest 'No CD effects' or similar. - -9. You are now ready to play ALIENS VERSUS PREDATOR with normal CD - music. This issue should be resolved for the full release of the game. - - -*********************************************************************** - - 2. DEMO OBJECTIVES - -*********************************************************************** - -Playing as an Alien, you start in an Atmosphere Processor secured -by Colonial Marines. You must escape to the planet's surface to alert -the Hive. You must proceed with speed and stealth, and use guile to -disable and destroy those forces which you cannot attack head-on. - - -*********************************************************************** - - 3. INSTALLATION - -*********************************************************************** - -ALIENS VERSUS PREDATOR requires DirectX 6. This can be found within the -game's installation directory and you will be prompted to install it if -it is not on your system when you install the Demo. - -To install the ALIENS VERSUS PREDATOR Demo, double click on Setup.exe -Follow the onscreen instructions. - -ALIENS VERSUS PREDATOR dynamically streams FMV from your machine's -local hard-drive. This playback is greatly enhanced if the FMV files -are installed on a defragmented directory. We STRONGLY recommend -de-fragging your hard drive before installing ALIENS VERSUS PREDATOR. - -To de-fragment your drive, either use the Windows95 accessory -'Disk Defragmenter' or any other 3rd party defragmentation utility. - -Although the ALIENS VERSUS PREDATOR Demo will work with other -applications running in the background, for the best results it is -recommended that you run the game as a stand-alone application -(with no other applications running). - -As well as avoiding possible conflicts from other applications, this -will also help prevent Windows from accessing the hard drive Virtual -Memory swap file, and affecting the speed and sound effects of the -game. - -*********************************************************************** - - 4. GAME CONTROLS - -*********************************************************************** - -ALIENS VERSUS PREDATOR supports all DirectX compatible controllers. You -must install and set up these controllers before entering the game. - -Other keys and mouse configurations can be defined either from the main -menu screen or from the in-game menus. - -The default keys are: - -UPARROW Forward -DOWNARROW Backward -LEFTARROW Strafe Left -RIGHTARROW Strafe Right -NUMPAD 4 Turn Left -NUMPAD 6 Turn Right -RIGHT_ALT Strafe -A Look Up -Z Look Down -S Centre View -LEFTSHIFT Walk -RIGHTCTRL Crouch/Climb -RIGHTSHIFT Jump -SPACE Operate -I Toggle between HUNT and NAVIGATION vision modes - -The default mouse settings are full MouseLook. -The default mouse buttons are "Claw Attack" and "Tail Attack". - -F8 Take screenshot (currently only 16bit video modes) - -*********************************************************************** - - 5. ALIEN ABILITIES - -*********************************************************************** - -HEALTH - -Health is displayed as the numerals in the top right of your screen. -When you are damaged, your screen will flash yellow from the sides. -Your health can be replenished by feeding on other lifeforms - see -JAW ATTACK in the ALIEN WEAPONS section. - -ARMOR - -The strength of the Alien's exoskeleton is displayed as the numerals -directly under HEALTH. As with HEALTH, damage to the exoskeleton can -be repaired by feeding on other lifeforms. - -VISION MODES - -The Alien has the ability to 'see' the world through two modes: -HUNTING and NAVIGATION. In HUNTING mode the Alien's senses are -attuned to searching for prey, whereas in NAVIGATION mode the -senses are concentrated on defining the surrounding environment. - -MOVEMENT & CLIMBING - -The Alien has the ability to move on any surface. Simply hold down -the 'Crouch/Climb' key whilst moving. When climbing, releasing the -key will release the Alien's grip and drop it to the floor. Using -the 'Jump' key while climbing will cause the Alien to pounce in the -direction it is looking. - - -*********************************************************************** - - 6. ALIEN WEAPONS - -*********************************************************************** - -CLAWS - -Tapping or holding the 'Claw Attack' button triggers a flurry of -swipes and slashes. In the right circumstances the 'Claw Attack' -button can also trigger the secondary jaws. - -JAW - -The secondary jaws can be used to feed on other lifeforms, thus -replenishing HEALTH and ARMOR. Jaw attacks require a certain amount -of skill to achieve. When a target's head is close enough and in the -centre of the screen (the 'sweet-spot') the Alien's inner jaws will -become visible to indicate that a jaw attack is possible. Pressing -the 'Claw Attack' key will then launch the jaw attack. - -N.B. Jaw attacking corpses provides less of a health/armor bonus than -live prey - assuming that the corpse still has a head. Try practicing -on unarmed personnel! - -TAIL - -Tapping 'Tail Attack' causes a quick, low power, jab, whereas holding -down the 'Tail Attack' button readies the tail for a more powerful -strike. The tail will automatically target any prey in front of the -Alien. - - -*********************************************************************** - - 7. CONTACT & LEGAL INFORMATION - -*********************************************************************** - -CONTACT INFORMATION - -For more information, or to communicate with us with regards to this or -any Fox Interactive product, please consult our Worldwide Web site at: - - http://www.foxinteractive.com - -...or for questions/technical issues send us an email at: - - avp@fox.com - -LEGAL INFORMATION - -ALIENS VERSUS PREDATOR is published by Fox Interactive and developed -by Rebellion Developments, Ltd. - -ALIENS TM & (c) 1986, 1998 Twentieth Century Fox Film Corporation. -PREDATOR TM & (c) 1987, 1998 Twentieth Century Fox Film Corporation. -ALIENS VERSUS PREDATOR TM & (c) 1998 Twentieth Century Fox Film -Corporation. All Rights Reserved. "Aliens," "Predator," "Fox," and -"Fox Interactive" and their associated logos are the property of -Twentieth Century Fox Film Corporation. All Rights Reserved. - -*********************************************************************** - - diff --git a/3dc/AvP_Marine_Readme.txt b/3dc/AvP_Marine_Readme.txt deleted file mode 100644 index 1395a9c..0000000 --- a/3dc/AvP_Marine_Readme.txt +++ /dev/null @@ -1,284 +0,0 @@ -*********************************************************************** - - - - ALIENS VERSUS PREDATOR - Marine Demo - - Version 1.0 - Readme File - Nov 23rd 1998 - - - -*********************************************************************** - - CONTENTS - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - 2. DEMO OBJECTIVES - 3. INSTALLATION - 4. GAME CONTROLS - 5. MARINE EQUIPMENT - 6. MARINE WEAPONRY - 7. CONTACT & LEGAL INFORMATION - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - -*********************************************************************** - -Intel Pentium 200 MMX PC (or 100% compatible CPU) -DirectX supported 3D Accelerator Card -DirectX v.6 (Included on Installation CD) -32Mb RAM (64Mb recommended) -64Mb free Hard Drive -Windows 95 - - -The ALIENS VERSUS PREDATOR Demo is a work in-progress. Thus it is not -fully optimised and configured for lower spec machines. These issues -will be corrected for the full retail version, giving the end user -control over engine and special effect variables ensuring smooth -gameplay over a wide variety of CPUs, accelerator cards and RAM. - -Due to the complexity of the ALIENS VERSUS PREDATOR models, users with -32Mb of RAM may experience some memory paging, especially when exiting -the game and returning to Windows. These problems will be fixed for the -release version of the game. - - -KNOWN ISSUE WITH SOUNDBLASTER LIVE! CARDS: - -Currently with SoundBlaster Live! cards, the EAX environmental -extensions are applied to all the audio being played from the CD. -While this does not necessarily interfere with the game; to stop -it from happening, follow these steps: - -1. Access your Creative AudioHQ, usually found in - - Start Menu --> Programs --> Creative--> Soundblaster Live! --> AudioHQ - -2. Access the 'Environmental Audio' control applet - -3. Click on the 'Options' tab within the Environmental Audio window. - -4. Check the 'Always Save Changes Automatically' preference box. - -5. Click the 'Source' tab. - -6. Select the CD Digital source and set the Reverb & Chorus amounts - to 0%. Leave the Original Sound source at 100%. - -7. Do the same with the CD Audio source. (Reverb & Chorus at 0%) - -8. Click on 'Close' and you will be prompted to input a name for your - new settings. We suggest 'No CD effects' or similar. - -9. You are now ready to play ALIENS VERSUS PREDATOR with normal CD - music. This issue should be resolved for the full release of the game. - - -*********************************************************************** - - 2. DEMO OBJECTIVES - -*********************************************************************** - -As the Marine, you are the last surviving member of your squad. Your -mission was to explore and investigate the Atmosphere Processor, then -destroy it. You were to remain as guard inside the APC... until your -squad were brutally massacred by forces unknown. Your mission is now -to survive and follow the instructions beamed down to you from your -mission commander from his support ship in low orbit. - - -*********************************************************************** - - 3. INSTALLATION - -*********************************************************************** - -ALIENS VERSUS PREDATOR requires DirectX 6. This can be found within the -game's installation directory and you will be prompted to install it if -it is not on your system when you install the Demo. - -To install the ALIENS VERSUS PREDATOR Demo, double click on Setup.exe -Follow the onscreen instructions. - -ALIENS VERSUS PREDATOR dynamically streams FMV from your machine's -local hard-drive. This playback is greatly enhanced if the FMV files -are installed on a defragmented directory. We STRONGLY recommend -de-fragging your hard drive before installing ALIENS VERSUS PREDATOR. - -To de-fragment your drive, either use the Windows95 accessory -'Disk Defragmenter' or any other 3rd party defragmentation utility. - -Although the ALIENS VERSUS PREDATOR Demo will work with other -applications running in the background, for the best results it is -recommended that you run the game as a stand-alone application -(with no other applications running). - -As well as avoiding possible conflicts from other applications, this -will also help prevent Windows from accessing the hard drive Virtual -Memory swap file, and affecting the speed and sound effects of the -game. - -*********************************************************************** - - 4. GAME CONTROLS - -*********************************************************************** - -ALIENS VERSUS PREDATOR supports all DirectX compatible controllers. You -must install and set up these controllers before entering the game. - -Other keys and mouse configurations can be defined either from the main -menu screen or from the in-game menus. - -The default keys are: - -UPARROW Forward -DOWNARROW Backward -LEFTARROW Strafe Left -RIGHTARROW Strafe Right -NUMPAD 4 Turn Left -NUMPAD 6 Turn Right -RIGHT_ALT Strafe -A Look Up -Z Look Down -S Centre View -LEFTSHIFT Walk -RIGHTSHIFT Jump -SPACE Operate -I Toggle Image Intensifier -Q Next Weapon -W Previous Weapon -L Throw Flare -BACKSPACE Flashback weapon (switches to previous held) - -The default mouse settings are full MouseLook. -The default mouse buttons are fire primary and fire secondary. - - - -*********************************************************************** - - 5. MARINE EQUIPMENT - -*********************************************************************** - -HEALTH - -Health is displayed as green numerals in the top right of your screen. -When you are damaged, your screen will flash red from the sides. Your -health can be replenished from healthpacks your comrades have dropped -in various levels of the Atmosphere Processor. - - -ARMOR - -Armor protects you from both acid blood and other forms of damage. It -is displayed beneath the health numerals as a percentage. You may don -extra armor if you find it. - - -IMAGE INTENSIFIER - -All Colonial Marines are equipped with image intensification optics. -Once activated your vision is augmented for low light conditions, thus -allowing you to see even in pitch darkness. You may use the Intensifier -at will, although it does temporarily burn-out if you are near a strong -light source (such as your weapon firing). - - -FLARES - -You come equipped with small phosphorus flares that you may throw to -light your way. These will stick to any surface and provide a strong -yet temporary light, as well as a deal of smoke. Flares and your -Image Intensifier naturally do not mix well. - - -*********************************************************************** - - 6. MARINE WEAPONS - -*********************************************************************** - -PULSERIFLE (slot 1) - -A Colonial Marine's standard weapon, combining a powerful assault rifle -with an under and over grenade launcher. It carries 99 rounds in the -magazine - watch for reloads! The number of grenades it can carry are -limited - look for your companion's old pulserifles for reloads. -The PulseRifle is less accurate if you are moving whilst firing. - - -SMARTGUN (slot 2) - -A mobile Colonial Marine's most powerful weapon, the SmartGun is a -masterpiece of technology. Mounted on a gyroscopic harness, it literally -aims itself, targeting the centre of mass. It is linked to the marine's -Head Up Display - once it has acquired a target the recticle turns red -and begins to track. To fully use a SmartGun, the operator must watch -where the gun wishes to move and lead it manually - this drastically -decreases aiming time. Smartguns are less useful against smaller, more -agile targets. The smartgun is belt-fed from a large magazine mounted -on the harness, so rarely runs out of ammunition. Care should be taken -as the armour piercing bullets from the SmartGun will deal with most -targets in an explosive manner - short bursts will be sufficient to -deal with almost any foe. - - -FLAMETHROWER (Slot 3) - -The Flamethrower is specifically designed as a close-combat weapon for -the clearing of areas. It is somewhat inaccurate, but the jet of napalm -will eventually kill anything it ignites. Keep the jet trained on a -target to inflict more direct damage. -The flamethrower runs out of fuel in a very short space of time - short -controlled bursts are the most economical method of firing. - -WARNING! The napalm fired from the flamethrower is dangerous - do NOT -run forwards whilst firing (walking is OK) else you will set yourself -on fire. Additionally, it is possible that the napalm will 'bounce' off -a surface and back onto the user. However, nothing is more effective -than the flamethrower when exterminating vermin. - - -*********************************************************************** - - 7. CONTACT & LEGAL INFORMATION - -*********************************************************************** - -CONTACT INFORMATION - -For more information, or to communicate with us with regards to this or -any Fox Interactive product, please consult our Worldwide Web site at: - - http://www.foxinteractive.com - -...or for questions/technical issues send us an email at: - - avp@fox.com - -LEGAL INFORMATION - -ALIENS VERSUS PREDATOR is published by Fox Interactive and developed -by Rebellion Developments, Ltd. - -ALIENS TM & (c) 1986, 1998 Twentieth Century Fox Film Corporation. -PREDATOR TM & (c) 1987, 1998 Twentieth Century Fox Film Corporation. -ALIENS VERSUS PREDATOR TM & (c) 1998 Twentieth Century Fox Film -Corporation. All Rights Reserved. "Aliens," "Predator," "Fox," and -"Fox Interactive" and their associated logos are the property of -Twentieth Century Fox Film Corporation. All Rights Reserved. - -*********************************************************************** - - diff --git a/3dc/AvP_Predator_Readme.txt b/3dc/AvP_Predator_Readme.txt deleted file mode 100644 index bd45aab..0000000 --- a/3dc/AvP_Predator_Readme.txt +++ /dev/null @@ -1,264 +0,0 @@ -*********************************************************************** - - - - ALIENS VERSUS PREDATOR - Predator Demo - - Version 1.3 - Readme File - Oct 22nd 1998 - - - -*********************************************************************** - - CONTENTS - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - 2. DEMO OBJECTIVES - 3. INSTALLATION - 4. GAME CONTROLS - 5. PREDATOR EQUIPMENT - 6. PREDATOR WEAPONRY - 7. CONTACT & LEGAL INFORMATION - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - -*********************************************************************** - -Intel Pentium 200 MMX PC (or 100% compatible CPU) -DirectX supported 3D Accelerator Card -DirectX v.6 (Included on Installation CD) -32Mb RAM (64Mb reccommended) -64Mb free Hard Drive -Windows 95 - - -The ALIENS VERSUS PREDATOR Demo is a work in-progress. Thus it is not -fully optimised and configured for lower spec machines. These issues -will be corrected for the full retail version, giving the end user -control over engine and special effect variables ensuring smooth -gameplay over a wide variety of CPUs, accelerator cards and RAM. - -Due to the complexity of the ALIENS VERSUS PREDATOR models, users with -32Mb of RAM may experience some memory paging, especially when exiting -the game and returning to Windows. These problems will be fixed for the -release version of the game. - - -*********************************************************************** - - 2. DEMO OBJECTIVES - -*********************************************************************** - -As the Predator, you must descend through an Alien-infested Atmosphere -Processor to eliminate the Marines who are defending an APC at the base -of the structure. Your weapons are Wrist-blades, Speargun and shoulder -mounted Plasmacaster. You also possess an emergency medical kit. - - - -*********************************************************************** - - 3. INSTALLATION - -*********************************************************************** - -ALIENS VERSUS PREDATOR requires DirectX 6. This can be found within the -game's installation directory and you will be prompted to install it if -it is not on your system when you install the Demo. - -To install the ALIENS VERSUS PREDATOR Demo, double click on Setup.exe -Follow the onscreen instructions. - -ALIENS VERSUS PREDATOR dynamically streams FMV from your machine's -local hard-drive. This playback is greatly enhanced if the FMV files -are installed on a defragmented directory. We STRONGLY recommend -de-fragging your hard drive before installing ALIENS VERSUS PREDATOR. - -To de-fragment your drive, either use the Windows95 accessory -'Disk Defragmenter' or any other 3rd party defragmentation utility. - -Although the ALIENS VERSUS PREDATOR Demo will work with other -Applications running in the background, for the best results it is -recommended that you run the game as a stand-alone application -(with no other applications running). - -As well as avoiding possible conflicts from other applications, this -will also help prevent Windows from accessing the hard drive Virtual -Memory swap file, and affecting the speed and sound effects of the -game. - -*********************************************************************** - - 4. GAME CONTROLS - -*********************************************************************** - -ALIENS VERSUS PREDATOR supports all DirectX compatible controllers. You -must install and set up these controllers before entering the game. - -Other keys and mouse configurations can be defined either from the main -menu screen or from the in-game menus. - -The default keys are: - -UPARROW Forward -DOWNARROW Backward -LEFTARROW Strafe Left -RIGHTARROW Strafe Right -NUMPAD 4 Turn Left -NUMPAD 6 Turn Right -RIGHT_ALT Strafe -A Look Up -Z Look Down -S Centre View -LEFTSHIFT Walk -RIGHTSHIFT Jump -SPACE Operate -I Toggle Cloaking -Q Next Weapon -W Previous Weapon -PAGEUP Zoom In -PAGEDOWN Zoom Out -L Cycle Vision Modes - -The default mouse settings are full MouseLook. -The default mouse buttons are fire primary and fire secondary. - - - -*********************************************************************** - - 5. PREDATOR EQUIPMENT - -*********************************************************************** - -HEALTH - -Health is displayed as a vertical red bar on the left hand side of the -screen. As the Predator is wounded, these digits are removed from the -bottom up. When health is low, the Predator should use the MediComp. -The Predator has no Health pick-ups in ALIENS VERSUS PREDATOR. - - -FIELD CHARGE - -All of the Predator's weapons and equipment run off the Predator's -Field Charge, a general measure of power. This is displayed as a -vertical blue bar on the right hand side of the screen. The Predator -can find extremely limited amounts of Field Charge in the Demo. -Field Charge is drained by a number of the Predator's abilities, -which are listed below: - -Healing. The MediComp (q.v.) is expensive to run. -Plasmacaster. This can drain however much is required. -Cloaking. Both a chunk to enter cloak and a small permanent drain. - - -CLOAKING - -The Predator has the ability to 'bend light' around itself. This can -render it almost invisible under most lighting conditions unless it -gives it's position away. Unfortunately, the Xenomorph species does -not use light to detect it's prey, so cloaking is not effective. -Whilst in cloak, the Predator sees the world differently as the -light is processed for his vision. -Entering cloak is costly for Field Charge. - - -VISION MODES - -There are two vision modes available in this demo - Thermal and -Electro-magnetic. Thermal vision shows up Humans as bright red and -yellow heat sources, while the rest of the world is cold and blue. -Electro-magnetic vision displays the Aliens clearly, whilst failing -to pick up on the human targets. Some of the Predator's abilities -depend on picking the correct vision modes. - - - -*********************************************************************** - - 6. PREDATOR WEAPONS - -*********************************************************************** - -WRISTBLADES (slot 1) - -A set of lethal razor-sharp blades mounted on the Predator's right -wrist. Use Primary Fire to perform a quick jab. Use Secondary Fire to -pull back and charge up a high-powered swipe. The Predator may use the -wristblades while cloaked. - - -SPEARGUN (slot 3) - -A high-velocity harpoon-style weapon, this fires a jagged bolt of metal -capable of ripping parts off the Predator's enemies. The extreme power -is tempered by the slow rate-of-fire and the fact that Aliens can easily -survive traumatic injuries. Ammunition is limited and the use of this -weapon de-activates the Predator's cloaking. - - -PLASMACASTER (slot 4) - -The Predator's most effective weapon is computer-controlled from the -wrist console. It has it's own charge meter (found on the Wrist Console -as a small red bar) which displays how much power is contained within -the blast. This can be charged either by Primary Fire and upon release -the bolt is fired, or can have charge stored within it via the use of -Secondary Fire. - -The Plasmacaster is fully auto-tracking, locking onto a target in -seconds as long as it remains within view. The Plasmacaster can only -target enemies if fired from the Predator's correct vision mode for -that species. - - -MEDICOMP (Slot 6) - -Not really a weapon, the MediComp is the Predator's only hope of -regaining health while in combat. It is extremely expensive of -Field Charge and takes some time to use, during which the Predator -is effectively defenseless. It is therefore important to use it during -lulls in combat. - -Primary fire begins the healing sequence. - -Secondary fire activates the Predator's fire-damping abilities should -it unfortunately be caught by a flamethrower or incendiary. This is -far less expensive than a full heal. - - -*********************************************************************** - - 7. CONTACT & LEGAL INFORMATION - -*********************************************************************** - -CONTACT INFORMATION - -For more information, or to communicate with us with regards to this or -any Fox Interactive product, please consult our Worldwide Web site at: - - http://www.foxinteractive.com - -LEGAL INFORMATION - -ALIENS T & c 1986, 1998 Twentieth Century Fox Film Corporation. -PREDATOR T & c 1987, 1998 Twentieth Century Fox Film Corporation. -ALIENS VERSUS PREDATOR T & c 1998 Twentieth Century Fox Film -Corporation. All Rights Reserved. "Aliens," "Predator," "Fox," and -"Fox Interactive" and their associated logos are the property of -Twentieth Century Fox Film Corporation. All Rights Reserved. - -*********************************************************************** - - diff --git a/3dc/AvP_Readme+Credits.txt b/3dc/AvP_Readme+Credits.txt deleted file mode 100644 index b5a9d64..0000000 --- a/3dc/AvP_Readme+Credits.txt +++ /dev/null @@ -1,278 +0,0 @@ -*********************************************************************** - Fox Interactive presents - A Rebellion Game -*********************************************************************** - - - Aliens Versus Predator - Predator Demo - - Version 1.0 - Readme File - 10/16/98 - - - -*********************************************************************** - - CONTENTS - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - 2. DEMO OBJECTIVES - 3. INSTALLATION - 4. GAME CONTROLS - 5. PREDATOR EQUIPMENT - 6. PREDATOR WEAPONRY - 7. CREDITS - - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - -*********************************************************************** - -P200 MMX PC -Intel or 100% compatible CPU -DirectX supported 3D Accelerator Card -DirectX v.6 (Included on Installation CD) -32Mb RAM -Windows 95 - - -The Aliens Versus Predator Demo is a work in-progress. Thus it is not -fully optimised and configured for lower spec machines. These issues -will be corrected for the full retail version, giving the end user -control over engine and special effect variables ensuring smooth -gameplay over a wide variety of CPUs, accelerator cards and RAM. - - -*********************************************************************** - - 2. DEMO OBJECTIVES - -*********************************************************************** - -As the Predator, you must descend through an Alien-infested Atmosphere -Processor to eliminate the Marines who are defending an APC at the base -of the structure. Your weapons are Wrist-blades, Speargun and shoulder -mounted Plasmacaster. You also possess an emergency medical kit. - - - -*********************************************************************** - - 3. INSTALLATION - -*********************************************************************** - -To install the Aliens Versus Predator Demo, double click on Setup.exe -Follow the onscreen instructions. - -Aliens Versus Predator dynamically streams FMV from your machine's -local hard-drive. This playback is greatly enhanced if the FMV files -are installed on a defragmented directory. We STRONGLY reccomend -de-fragging your hard drive before installing Aliens Versus Predator. - -To de-fragment your drive, either use the Windows95 accessory -'Disk Defragmenter' or any other 3rd party defragmentation utility. - - -*********************************************************************** - - 4. GAME CONTROLS - -*********************************************************************** - -Aliens Versus Predator supports all DirectX compatible controllers. You -must install and set up these controllers before entering the game. - -Other keys and mouse configurations can be defined either from the main -menu screen or from the in-game menus. - -The default keys are: - -UPARROW Forward -DOWNARROW Backward -LEFTARROW Strafe Left -RIGHTARROW Strafe Right -NUMPAD 4 Turn Reft -NUMPAD 6 Turn Right -RIGHT_ALT Strafe -A Look Up -Z Look Down -S Centre View -LEFTSHIFT Walk -RIGHTSHIFT Jump -SPACE Operate -I Toggle Cloaking -Q Next Weapon -W Previous Weapon -PAGEUP Zoom In -PAGEDOWN Zoon Out -L Cycle Vision Modes - -The default mouse settings are full mouselook. -The default mouse buttons are fire primary and fire secondary. - - - -*********************************************************************** - - 5. PREDATOR EQUIPMENT - -*********************************************************************** - -HEALTH - -Health is displayed as a vertical red bar on the left hand side of the -screen. As the Predator is wounded, these digits are removed from the -bottom up. When health is low, the Predator should use the Medicomp. -The Predator has no Health pick-ups in Aliens Versus Predator. - - -FIELD CHARGE - -All of the Predator's weapons and equipment run off the predator's -Field Charge, a general measure of power. This is displayed as a -vertical blue bar on the right hand side of the screen. The Predator -can find extremely limited amounts of Field Charge in the Demo. -Field Charge is drained by a number of the Predator's abilities, -which are listed below: - -Healing. The Medicomp (qv) is expensive to run. -Plasmacaster. This can drain however much is required. -Cloaking. Both a chunk to enter cloak and a small permanent drain. - - -CLOAKING - -The Predator has the ability to 'bend light' around itself. This can -render it almost invisible under most lighting conditions unless it -gives it's position away. Unfortunately, the Xenomorph species does -not use light to detect it's prey, so cloaking is not effective. -Whilst in cloak, the Predator sees the world differently as the -light is processed for his vision. -Entering cloak is costly for Field Charge. - - -VISION MODES - -There are two vision modes available in this demo - Thermal and -Electro-magnetic. Thermal vision shows up Humans as bright red and -yellow heat sources, while the rest of the world is cold and blue. -Electro-magnetic vision displays the Aliens clearly, whilst failing -to pick up on the human targets. Some of the Predator's abilities -depend on picking the correct vision modes. - - - -*********************************************************************** - - 6. PREDATOR WEAPONS - -*********************************************************************** - -WRISTBLADES (slot 1) - -A set of lethal razor-sharp blades mounted on the Predator's right -wrist. Use Primary Fire to perform a quick jab. Use Secondary Fire to -pull back and charge up a high-powered swipe. The Predator may use the -wristblades while cloaked. - - -SPEARGUN (slot 3) - -A high-velocity harpoon-style weapon, this fires a jagged bolt of metal -capable of ripping parts off the Predator's enemies. The extreme power -is tempered by the slow rate-of-fire and the fact that Aliens can easily -survive traumatic injuries. Ammunition is limited and the use of this -weapon de-activates the Predator's cloaking. - - -PLASMACASTER (slot 4) - -The Predator's most effective weapon is computer-controlled from the -wrist console. It has it's own charge meter (found on the Wrist Console -as a small red bar) which displays how much power is contained within -the blast. This can be charged either by Primary Fire and upon release -the bolt is fired, or can have charge stored within it via the use of -Secondary Fire. - -The Plasmacaster is fully auto-tracking, locking onto a target in -seconds as long as it remains within view. The Plasmacaster can only -target enemies if fired from the Predator's correct vision mode for -that species. - - -MEDICOMP (Slot 6) - -Not really a weapon, the Medicomp is the Predator's only hope of -regaining health while in combat. It is extremely expensive of -Field Charge and takes some time to use, during which the Predator -is effectively defenseless. It is therefore important to use it during -lulls in combat. - -Primary fire begins the healing sequence. - -Secondary fire activates the Predator's fire-damping abilities should -it unfortunately be caught by a flamethrower or incendiary. This is -far less expensive than a full heal. - - -*********************************************************************** - - 7. CREDITS - -*********************************************************************** - -REBELLION CREDITS - -Creative Director Jason Kingsley -Technical Director Chris Kingsley - -Lead Programmer Kevin Lea -AI Programmer Chris Fox -Tools Programmer Richard Rice -Additional Programming Jake Hotson - Dave Wall - -Producer Alastair Halsby - -Level Design Julian Breddy - Ed Cookson - Adam Comiskey - Joe Gelder - Alastair Halsby - Tim Jones - -Level Texturemaps Julian Breddy - Ed Cookson - Adam Comiskey - Joe Gelder - Alastair Halsby - Tim Jones - Matthew Riordan - -Character Models -& Animation Ken Turner - Adam Comiskey - -Character Texturemaps Alastair Halsby - Tim Jones - Ken Turner - Adam Comiskey - -Sound Ed Cookson - Tim Jones - Alastair Halsby - -Thanks To: -Patrick Dickinson, George Launchbury, Jake Hempson, John Bryden, -Andy Nixon, Will Davis, Shelagh Lewins, Luke Harman, Dan Mitchell, -Lee Brimmicombe-Wood, Sophie Mobbs, Bernard H. Wood and Paul Topping. - - -FOX INTERACTIVE CREDITS \ No newline at end of file diff --git a/3dc/AvP_Readme.txt b/3dc/AvP_Readme.txt deleted file mode 100644 index 664dec3..0000000 --- a/3dc/AvP_Readme.txt +++ /dev/null @@ -1,226 +0,0 @@ -*********************************************************************** - Fox Interactive presents - A Rebellion Game -*********************************************************************** - - - Aliens Versus Predator - Predator Demo - - Version 1.0 - Readme File - 10/16/98 - - - -*********************************************************************** - - CONTENTS - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - 2. DEMO OBJECTIVES - 3. INSTALLATION - 4. GAME CONTROLS - 5. PREDATOR EQUIPMENT - 6. PREDATOR WEAPONRY - - -*********************************************************************** - - 1. MINIMUM REQUIREMENTS - -*********************************************************************** - -P200 MMX PC -Intel or 100% compatible CPU -DirectX supported 3D Accelerator Card -DirectX v.6 (Included on Installation CD) -32Mb RAM -Windows 95 - - -The Aliens Versus Predator Demo is a work in-progress. Thus it is not -fully optimised and configured for lower spec machines. These issues -will be corrected for the full retail version, giving the end user -control over engine and special effect variables ensuring smooth -gameplay over a wide variety of CPUs, accelerator cards and RAM. - - - -*********************************************************************** - - 2. DEMO OBJECTIVES - -*********************************************************************** - -As the Predator, you must descend through an Alien-infested Atmosphere -Processor to eliminate the Marines who are defending an APC at the base -of the structure. Your weapons are Wrist-blades, Speargun and shoulder -mounted Plasmacaster. You also possess an emergency medical kit. - - - -*********************************************************************** - - 3. INSTALLATION - -*********************************************************************** - -To install the Aliens Versus Predator Demo, double click on Setup.exe -Follow the onscreen instructions. - -Aliens Versus Predator dynamically streams FMV from your machine's -local hard-drive. This playback is greatly enhanced if the FMV files -are installed on a defragmented directory. We STRONGLY reccomend -de-fragging your hard drive before installing Aliens Versus Predator. - -To de-fragment your drive, either use the Windows95 accessory -'Disk Defragmenter' or any other 3rd party defragmentation utility. - - -*********************************************************************** - - 4. GAME CONTROLS - -*********************************************************************** - -Aliens Versus Predator supports all DirectX compatible controllers. You -must install and set up these controllers before entering the game. - -Other keys and mouse configurations can be defined either from the main -menu screen or from the in-game menus. - -The default keys are: - -UPARROW Forward -DOWNARROW Backward -LEFTARROW Strafe Left -RIGHTARROW Strafe Right -NUMPAD 4 Turn Reft -NUMPAD 6 Turn Right -RIGHT_ALT Strafe -A Look Up -Z Look Down -S Centre View -LEFTSHIFT Walk -RIGHTSHIFT Jump -SPACE Operate -I Toggle Cloaking -Q Next Weapon -W Previous Weapon -PAGEUP Zoom In -PAGEDOWN Zoon Out -L Cycle Vision Modes - -The default mouse settings are full mouselook. -The default mouse buttons are fire primary and fire secondary. - - - -*********************************************************************** - - 5. PREDATOR EQUIPMENT - -*********************************************************************** - -HEALTH - -Health is displayed as a vertical red bar on the left hand side of the -screen. As the Predator is wounded, these digits are removed from the -bottom up. When health is low, the Predator should use the Medicomp. -The Predator has no Health pick-ups in Aliens Versus Predator. - - -FIELD CHARGE - -All of the Predator's weapons and equipment run off the predator's -Field Charge, a general measure of power. This is displayed as a -vertical blue bar on the right hand side of the screen. The Predator -can find extremely limited amounts of Field Charge in the Demo. -Field Charge is drained by a number of the Predator's abilities, -which are listed below: - -Healing. The Medicomp (qv) is expensive to run. -Plasmacaster. This can drain however much is required. -Cloaking. Both a chunk to enter cloak and a small permanent drain. - - -CLOAKING - -The Predator has the ability to 'bend light' around itself. This can -render it almost invisible under most lighting conditions unless it -gives it's position away. Unfortunately, the Xenomorph species does -not use light to detect it's prey, so cloaking is not effective. -Whilst in cloak, the Predator sees the world differently as the -light is processed for his vision. -Entering cloak is costly for Field Charge. - - -VISION MODES - -There are two vision modes available in this demo - Thermal and -Electro-magnetic. Thermal vision shows up Humans as bright red and -yellow heat sources, while the rest of the world is cold and blue. -Electro-magnetic vision displays the Aliens clearly, whilst failing -to pick up on the human targets. Some of the Predator's abilities -depend on picking the correct vision modes. - - - -*********************************************************************** - - 6. PREDATOR WEAPONS - -*********************************************************************** - -WRISTBLADES (slot 1) - -A set of lethal razor-sharp blades mounted on the Predator's right -wrist. Use Primary Fire to perform a quick jab. Use Secondary Fire to -pull back and charge up a high-powered swipe. The Predator may use the -wristblades while cloaked. - - -SPEARGUN (slot 3) - -A high-velocity harpoon-style weapon, this fires a jagged bolt of metal -capable of ripping parts off the Predator's enemies. The extreme power -is tempered by the slow rate-of-fire and the fact that Aliens can easily -survive traumatic injuries. Ammunition is limited and the use of this -weapon de-activates the Predator's cloaking. - - -PLASMACASTER (slot 4) - -The Predator's most effective weapon is computer-controlled from the -wrist console. It has it's own charge meter (found on the Wrist Console -as a small red bar) which displays how much power is contained within -the blast. This can be charged either by Primary Fire and upon release -the bolt is fired, or can have charge stored within it via the use of -Secondary Fire. - -The Plasmacaster is fully auto-tracking, locking onto a target in -seconds as long as it remains within view. The Plasmacaster can only -target enemies if fired from the Predator's correct vision mode for -that species. - - -MEDICOMP (Slot 6) - -Not really a weapon, the Medicomp is the Predator's only hope of -regaining health while in combat. It is extremely expensive of -Field Charge and takes some time to use, during which the Predator -is effectively defenseless. It is therefore important to use it during -lulls in combat. - -Primary fire begins the healing sequence. - -Secondary fire activates the Predator's fire-damping abilities should -it unfortunately be caught by a flamethrower or incendiary. This is -far less expensive than a full heal. - - -*********************************************************************** - diff --git a/3dc/CREDITS.txt b/3dc/CREDITS.txt deleted file mode 100644 index 7c69f3f..0000000 --- a/3dc/CREDITS.txt +++ /dev/null @@ -1,340 +0,0 @@ - - - -}Fox Interactive Presents - - - -}Aliens Versus Predator - -}Gold Edition - - -}Fox Interactive -}------------- - -Producer|David Stalker - -Senior Associate Producer|Chris Miller - -Associate Producer|Aaron Blean - - -}Fox QA Department - -QA Manager|David Ortiz -QA Lead|Igor Krinitsky -QA Co-Lead|Chris Wilson -Testers|Arabian -|Aron Ahles -|Ken Anderson -|Eric Asevo -|Sweet Billy -|Ben Borth -|Pete Cesario -|Francis Choi -|Kristian Davila -|Matt Dell -|Ryan Dowling -|Michael Dunn -|Tim Hall -|Tim Harrison -|Judd Hollander -|Kevin Huynh -|Cris Lee -|Jeremy Luyties -|Red Magpantay -|Kerry Marshall -|Young Park -|Kyle Peschel -|Harish Rao -|Don Sexton -|Gabe Slater -|Jeff Tatman -|Luke Thai -|Tim Tran -|Daan Wisehart -|Sung Yoo -|Brian Zenns - - - - -}Rebellion -}------- - -Creative Director|Jason Kingsley - -Technical Director|Chris Kingsley - -Senior Producer|Mark Eyles - -Production Manager|Graeme Williams - -Technology Manager|Kevin Lea - -Producer & Lead Artist|Tim Jones - -Network Code & Tools Programmer|Richard Rice - - - -Art|Julian Breddy -|Ed Cookson -|Dominic Jeffery -|Tim Jones -|Ken Turner - - - -Sound|Ed Cookson - -Additional Sound|Julian Breddy -|Dominic Jeffery -|Tim Jones - - -Thanks to|Al Halsby -|Chris Fox -|Jessica Sharp -|Nadia Cocklin -|Harry Harris -|April Chung -|Anna Floyer -|Siobhan Boughton -|Helen Szirtes -|Christian Russell -|Phil Moss -|Matt Black -|The Special K Massive (Big up stylee!) - - -}Gold Edition FMVs - - -Cast|Ed Cookson -|Aeron Guy -|Mike Healey -|Ben Jones -|Tim Jones -|Chris Kingsley -|Ed Niblett -|Ken Turner - -Creative Director and Lighting|Jason Kingsley - -Direction|Ed Cookson -|Tim Jones -|Ken Turner - - -Editing and Sound Effects|Ed Cookson -|Ken Turner - -Special Effects|Ken, Ben, Ed C and Tim - -Thanks to|Everyone at Rebellion who gave up their weekend - - - - - - - - - -}Aliens Versus Predator - - -}Fox Interactive -}------------- - - -Producer|David Stalker - -Associate Producer|Chris Miller - -Music Composition|Rich Ragsdale - -Sound Effects|Jered C. Miller - - -}Fox QA Department - -QA Manager|Mike Schneider -QA Lead|Aaron Blean -Testers|Seth Roth -|Ken Anderson -|Eric Asevo -|Pete Cesario -|Ryan Dowling -|Michael Dunn -|Tim Hall -|Igor Krinitsky -|Red Magpantay -|Sweet Billy -|Paul Pawlicki -|Harish Rao -|Tim Ramage -|Nick Stecher -|Jeff Tatman -|Tim Tran -|Sung Yoo -|Kristian Davila - - - -}Big Shouts out to: - -The unsung folks at Fox|Paul Provenzano -|Mark Dawson -|Dave Shaw -|Alan Alder -|Brian Thomas -|Melissa Totten -|Ellen Gameral -|Jamie Samson -|Michele Birkner -|Priscilla Bourbonnais -|Mike Arkin -|Andrea Griffiths -|Simon Etchells - - -The folks who made the movies|Ridley Scott -|H.R. Giger -|James Cameron -|John McTiernan -|James Horner -|Jerry Goldsmith -|Elliot Goldenthal -|Stan Winston -|and many other talented individuals - - -}Rebellion -}------- - - -Creative Director|Jason Kingsley - -Technical Director|Chris Kingsley - -Producer & Lead Artist|Alastair Halsby - -Engine Code & Lead Programmer|Kevin Lea - -Network Code & Tools Programmer|Richard Rice - -AI Programmer|Chris Fox - - - -}Additional Programming - -Sound|Dave Wall -Tools|Jake Hotson -AI|Alex Thomson - - - -Art|Julian Breddy -|Ed Cookson -|Al Halsby -|Tim Jones - - - -Additional Art|Ken Turner -|Matthew Riordan -|Adam Comiskey -|Kevin Lea - - - -Lead Animator & Character Design|Ken Turner - -Additional Animation|Adam Comiskey - -Character Art|Al Halsby -|Tim Jones -|Julian Breddy - - - - -Sound|Ed Cookson - -Additional Sound|Tim Jones -|Will Davies -|Al Halsby - - - -Male Voice Talent|Julian Breddy -|Ken Turner -|Dominic Jeffrey - - -Female Voice Talent|Becky Kneubuhl -|April Chung -|Nadia Cocklin - - - -Rebellion Thanks:|Jessica Sharp -|Patrick Dickinson -|George Launchbury -|Roxby Hartley -|Jake Hempson -|John Bryden -|Andy Nixon -|Shelagh Lewins -|Luke Harman -|Dan Mitchell -|Lee Brimmicombe-Wood -|Sophie Mobbs -|Bernard H. Wood -|Paul Topping - - - - - -}Mondo Media -}----------- - -Art Director|Marco Bertoldo - -Producer|Liz Stuart - -Senior Producer|Vivian Barad - -3D Artists|Brittnal Anderson -|Robert Jeffery -|Kelley Lamsens -|Jeanne Littooy -|Manuel Marquez -|Art Matsuura - -Storyboard Artist|Rhode Montijo - - - - - - - - - - - - - - - - - - - -# diff --git a/3dc/Kshape.bak b/3dc/Kshape.bak deleted file mode 100644 index 8e1cbb3..0000000 --- a/3dc/Kshape.bak +++ /dev/null @@ -1,8501 +0,0 @@ -/*KJL************************************************************************************ -* kshape.c - replacement for all the pipeline stuff previously done in shape.c & clip.c * -************************************************************************************KJL*/ -#include "3dc.h" -#include -#include "module.h" -#include "inline.h" - -#include "stratdef.h" -#include "gamedef.h" - -#include "kshape.h" -#include "kzsort.h" -#include "frustrum.h" - -#define UseLocalAssert Yes -#include "ourasert.h" -#include "equipmnt.h" -#include "bh_pred.h" -#include "bh_marin.h" -#include "bh_corpse.h" -#include "bh_debri.h" -#include "bh_weap.h" -#include "bh_types.h" -#include "pldghost.h" -#include "particle.h" -#include "vision.h" -#include "sfx.h" -#include "d3d_render.h" -#include "avpview.h" -#include "sphere.h" -#include "detaillevels.h" -#include "avp_userprofile.h" - -#if SOFTWARE_RENDERER -#define D3D_ZBufferedGouraudTexturedPolygon_Output Software_ZBufferedGouraudTexturedPolygon_Output -#endif -#define ALIENS_LIFEFORCE_GLOW_COLOUR 0x20ff8080 -#define MARINES_LIFEFORCE_GLOW_COLOUR 0x208080ff -#define PREDATORS_LIFEFORCE_GLOW_COLOUR 0x2080ff80 - -/* KJL 15:02:50 05/14/97 - new max lighting intensity */ -#define MAX_INTENSITY (65536*4-1) - -extern VIEWDESCRIPTORBLOCK *Global_VDB_Ptr; -extern DISPLAYBLOCK *Global_ODB_Ptr; -extern EXTRAITEMDATA *Global_EID_Ptr; -extern int *Global_EID_IPtr; -extern int ScanDrawMode; -extern int ZBufferMode; -extern int NormalFrameTime; - -extern SHAPEHEADER *Global_ShapeHeaderPtr; -extern int *Global_ShapePoints; -extern int **Global_ShapeItems; -extern int *Global_ShapeNormals; -extern int *Global_ShapeVNormals; -extern int **Global_ShapeTextures; - -extern MATRIXCH LToVMat; -extern EULER LToVMat_Euler; -extern MATRIXCH WToLMat; -extern VECTORCH LocalView; -extern VECTORCH LocalLightCH; - -extern int NumLightSourcesForObject; -extern LIGHTBLOCK *LightSourcesForObject[]; - -#if SupportMorphing -extern MORPHDISPLAY MorphDisplay; -#endif - -extern int VideoModeType; -extern int GlobalAmbience; -extern int NumActiveBlocks; - -extern DISPLAYBLOCK *ActiveBlockList[]; -extern SHAPEHEADER **mainshapelist; - -int MirroringActive=0; -int MirroringAxis=-149*2; - -VECTORCHF FogPosition; -float FogMagnitude; -#define VOLUMETRIC_FOG 0 -#define UNDERWATER 0 -#define SPATIAL_SHOCKWAVE 0 -float CameraZoomScale; - -int DrawFullBright; - -int TripTasticPhase; - -void SetupShapePipeline(void); -void ShapePipeline(SHAPEHEADER *shapePtr); - -static void GouraudPolygon_Construct(POLYHEADER *polyPtr); -static void GouraudPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr); - -static void TexturedPolygon_Construct(POLYHEADER *polyPtr); -static void TexturedPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr); - - -static void GouraudTexturedPolygon_Construct(POLYHEADER *polyPtr); - -static void (*VertexIntensity)(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Hierarchical(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_PreLit(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Pred_Thermal(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Pred_SeeAliens(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Pred_SeePredatorTech(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_ImageIntensifier(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Standard(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Alien_Sense(RENDERVERTEX *renderVertexPtr); - -static void VertexIntensity_Standard_Opt(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_FullBright(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_DiscoInferno(RENDERVERTEX *renderVertexPtr); -static void VertexIntensity_Underwater(RENDERVERTEX *renderVertexPtr); - - -extern void CreateTxAnimUVArray(int *txa_data, int *uv_array, int *shapeitemptr); - -void PredatorThermalVision_ShapePipeline(SHAPEHEADER *shapePtr); -void PredatorSeeAliensVision_ShapePipeline(SHAPEHEADER *shapePtr); -static void CloakedPolygon_Construct(POLYHEADER *polyPtr); -static void PredatorThermalVisionPolygon_Construct(POLYHEADER *polyPtr); -static void PredatorSeeAliensVisionPolygon_Construct(POLYHEADER *polyPtr); -void DoAlienEnergyView(DISPLAYBLOCK *dispPtr); -static void FindAlienEnergySource_Recursion(HMODELCONTROLLER *controllerPtr, SECTION_DATA *sectionDataPtr, unsigned int colour); -void SquishPoints(SHAPEINSTR *shapeinstrptr); -void MorphPoints(SHAPEINSTR *shapeinstrptr); -void TranslateShapeVertices(SHAPEINSTR *shapeinstrptr); -static void ParticlePolygon_Construct(PARTICLE *particlePtr); -void RenderMirroredDecal(DECAL *decalPtr); -static void DecalPolygon_Construct(DECAL *decalPtr); -void RenderShaftOfLight2(MODULE *modulePtr); -void FindIntersectionWithYPlane(VECTORCH *startPtr, VECTORCH *directionPtr, VECTORCH *intersectionPtr); -void FindZFromXYIntersection(VECTORCH *startPtr, VECTORCH *directionPtr, VECTORCH *intersectionPtr); -void AddToTranslucentPolyList(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr); -void DrawWaterFallPoly(VECTORCH *v); - -#if platform_pc -extern int sine[]; -extern int cosine[]; -#endif - - -//extern int ItemCount; - - -/*KJL************************************************************************************ -* N.B. All the following global variables have their first elements initialised so that * -* they will end up in high memory on the Saturn. * -************************************************************************************KJL*/ - -VECTORCH Global_LightVector={1,}; - -/* - Global variables and arrays -*/ - -VECTORCH RotatedPts[maxrotpts]={1,}; -int ItemColour=1; - - - -#if SupportMorphing - -#if (LazyEvaluationForMorphing == No) -VECTORCH MorphedPts[maxmorphPts]; -#endif - - -#endif /* SupportMorphing */ - - -#if Saturn -extern int PolygonSubdivideEntry(POLYHEADER* itemptr); -#endif - -static COLOURINTENSITIES ColourIntensityArray[maxrotpts]; - - - -RENDERPOLYGON RenderPolygon={1,}; -RENDERVERTEX VerticesBuffer[9]={1,}; -static RENDERVERTEX TriangleVerticesBuffer[3]={1,}; - -static int *VertexNumberPtr=(int*)1; - -extern struct KItem KItemList[maxpolyptrs]; -extern int *MorphedObjectPointsPtr; - -#define MAX_NO_OF_TRANSLUCENT_POLYGONS 1000 -RENDERPOLYGON TranslucentPolygons[MAX_NO_OF_TRANSLUCENT_POLYGONS]; -POLYHEADER TranslucentPolygonHeaders[MAX_NO_OF_TRANSLUCENT_POLYGONS]; -int CurrentNumberOfTranslucentPolygons; - -/* KJL 10:25:44 7/23/97 - this offset is used to push back the normal game gfx, -so that the HUD can be drawn over the top without sinking into walls, etc. */ -int HeadUpDisplayZOffset=0; - -extern int CloakingPhase; -static VECTORCH ObjectCentre; -static int HierarchicalObjectsLowestYValue; - -HEATSOURCE HeatSourceList[MAX_NUMBER_OF_HEAT_SOURCES]; -int NumberOfHeatSources; -int CloakingMode; -char CloakedPredatorIsMoving; -static VECTORCH LocalCameraZAxis; - -static int ObjectCounter; - -extern void InitialiseLightIntensityStamps(void) -{ - int i = maxrotpts; - do - { - i--; - ColourIntensityArray[i].Stamp=0; - } - while(i); - ObjectCounter = 0; - -} - - -void SetupShapePipeline(void) -{ - #if VOLUMETRIC_FOG - { -// VECTORCH v = {-30399, -1792, 1050}; // genshd1 -// VECTORCH v = {49937,-4000,-37709}; // hangar -// VECTORCH v = {-185,0,642}; -// VECTORCH v = {6894,469,-13203}; - VECTORCH v = {73608,3582,56211}; - TranslatePointIntoViewspace(&v); - FogPosition.vx = v.vx; - FogPosition.vy = v.vy; - FogPosition.vz = v.vz; - FogMagnitude = FogPosition.vx*FogPosition.vx+FogPosition.vy*FogPosition.vy+FogPosition.vz*FogPosition.vz; - } - #endif - - /* Set up these global pointers */ - Global_ShapePoints = *(Global_ShapeHeaderPtr->points); - Global_ShapeTextures = Global_ShapeHeaderPtr->sh_textures; - - if(Global_ODB_Ptr->ObEIDPtr) - { - Global_EID_Ptr = Global_ODB_Ptr->ObEIDPtr; - Global_EID_IPtr = (int *) Global_ODB_Ptr->ObEIDPtr; - } - else - { - Global_EID_Ptr = Global_ShapeHeaderPtr->sh_extraitemdata; - Global_EID_IPtr = (int *) Global_ShapeHeaderPtr->sh_extraitemdata; - } - - if(Global_ShapeHeaderPtr->sh_normals) - { - Global_ShapeNormals = *(Global_ShapeHeaderPtr->sh_normals); - } - else - { - Global_ShapeNormals = 0; - } - - if(Global_ShapeHeaderPtr->sh_vnormals) - { - Global_ShapeVNormals = *(Global_ShapeHeaderPtr->sh_vnormals); - } - else - { - Global_ShapeVNormals = 0; - } - - - // if((Global_ODB_Ptr->ObStrategyBlock)&&(Global_ODB_Ptr->ObStrategyBlock->I_SBtype == I_BehaviourQueenAlien)) -// Global_ODB_Ptr->ObFlags3 &= ObFlag3_NoLightDot; - - ObjectCounter++; - -} - -void ChooseLightingModel(DISPLAYBLOCK *dispPtr) -{ - LOCALASSERT(dispPtr); - LOCALASSERT(dispPtr->ObShapeData); - - if (DrawFullBright) - { - VertexIntensity = VertexIntensity_FullBright; - } - else if (DISCOINFERNO_CHEATMODE || TRIPTASTIC_CHEATMODE) - { - VertexIntensity = VertexIntensity_DiscoInferno; - } - else if (UNDERWATER_CHEATMODE) - { - VertexIntensity = VertexIntensity_Underwater; - } - else - { - switch (CurrentVisionMode) - { - default: - case VISION_MODE_NORMAL: - { - VertexIntensity = VertexIntensity_Standard_Opt; - break; - } - case VISION_MODE_ALIEN_SENSE: - { - VertexIntensity = VertexIntensity_Alien_Sense; - break; - } - case VISION_MODE_IMAGEINTENSIFIER: - { - VertexIntensity = VertexIntensity_ImageIntensifier; - break; - } - case VISION_MODE_PRED_THERMAL: - { - VertexIntensity = VertexIntensity_Pred_Thermal; - break; - } - case VISION_MODE_PRED_SEEALIENS: - { - VertexIntensity = VertexIntensity_Pred_SeeAliens; - break; - } - case VISION_MODE_PRED_SEEPREDTECH: - { - VertexIntensity = VertexIntensity_Pred_SeePredatorTech; - break; - } - } - } -} - - - -/*KJL********************************************************************************** -* ShapePipeline() - this function processes a shape for rendering by considering each * -* polygon (item) in turn. * -**********************************************************************************KJL*/ -void ShapePipeline(SHAPEHEADER *shapePtr) -{ - int numitems= shapePtr->numitems; - int **itemArrayPtr = shapePtr->items; - #if 0 - char objectCompletelyInView; - #endif - LOCALASSERT(numitems); - - switch(CurrentVisionMode) - { - case VISION_MODE_PRED_THERMAL: - { - /* if we have an object with heat sources, draw it as such */ - if (NumberOfHeatSources)//||((Global_ODB_Ptr->ObStrategyBlock)&&(Global_ODB_Ptr->ObStrategyBlock->I_SBtype == I_BehaviourAlien))) - { - PredatorThermalVision_ShapePipeline(shapePtr); - return; - } - break; - } - case VISION_MODE_PRED_SEEALIENS: - { - STRATEGYBLOCK *sbPtr = Global_ODB_Ptr->ObStrategyBlock; - if(sbPtr) - { - int useVision=0; - switch (sbPtr->I_SBtype) - { - case I_BehaviourAutoGun: - case I_BehaviourAlien: - case I_BehaviourQueenAlien: - case I_BehaviourFaceHugger: - case I_BehaviourPredatorAlien: - case I_BehaviourXenoborg: - { - useVision=1; - break; - } - case I_BehaviourMarine: - { - MARINE_STATUS_BLOCK *marineStatusPointer = (MARINE_STATUS_BLOCK *)(sbPtr->SBdataptr); - GLOBALASSERT(marineStatusPointer); - - if (marineStatusPointer->Android) - { - useVision=1; - } - break; - } - - case I_BehaviourNetGhost: - { - NETGHOSTDATABLOCK *ghostDataPtr = (NETGHOSTDATABLOCK *)Global_ODB_Ptr->ObStrategyBlock->SBdataptr; - - if (ghostDataPtr->type==I_BehaviourAlienPlayer || ghostDataPtr->type==I_BehaviourAlien - || (ghostDataPtr->type==I_BehaviourNetCorpse&&ghostDataPtr->subtype==I_BehaviourAlienPlayer) ) - { - useVision=1; - } - break; - } - - case I_BehaviourNetCorpse: - { - NETCORPSEDATABLOCK *corpseDataPtr = (NETCORPSEDATABLOCK *)sbPtr->SBdataptr; - if (corpseDataPtr->Android || corpseDataPtr->Type==I_BehaviourAlienPlayer || corpseDataPtr->Type==I_BehaviourAlien) - { - useVision=1; - } - break; - } - case I_BehaviourHierarchicalFragment: - { - HDEBRIS_BEHAV_BLOCK *debrisDataPtr = (HDEBRIS_BEHAV_BLOCK *)sbPtr->SBdataptr; - if (debrisDataPtr->Type==I_BehaviourAlien - ||debrisDataPtr->Type==I_BehaviourQueenAlien - ||debrisDataPtr->Type==I_BehaviourPredatorAlien - ||debrisDataPtr->Type==I_BehaviourAutoGun - ||debrisDataPtr->Android) - { - useVision=1; - } - break; - } - case I_BehaviourSpeargunBolt: - { - SPEAR_BEHAV_BLOCK *spearDataPtr = (SPEAR_BEHAV_BLOCK *)sbPtr->SBdataptr; - if (spearDataPtr->SpearThroughFragment) // more flags required! - if (spearDataPtr->Type==I_BehaviourAlien - ||spearDataPtr->Type==I_BehaviourPredatorAlien - ||spearDataPtr->Type==I_BehaviourAutoGun) - { - useVision=1; - } - break; - } - default: - break; - } - - if (useVision) - { - PredatorSeeAliensVision_ShapePipeline(shapePtr); - return; - } - } - break; - } - case VISION_MODE_PRED_SEEPREDTECH: - { - STRATEGYBLOCK *sbPtr = Global_ODB_Ptr->ObStrategyBlock; - if(sbPtr) - { - int useVision=0; - switch (sbPtr->I_SBtype) - { - case I_BehaviourPredator: - { - PREDATOR_STATUS_BLOCK *predData = (PREDATOR_STATUS_BLOCK *)Global_ODB_Ptr->ObStrategyBlock->SBdataptr; - - if (!predData->CloakingEffectiveness) - { - useVision=1; - } - break; - } - case I_BehaviourNPCPredatorDisc: - case I_BehaviourPredatorDisc_SeekTrack: - { - useVision=1; - break; - } - case I_BehaviourNetGhost: - { - NETGHOSTDATABLOCK *ghostDataPtr = (NETGHOSTDATABLOCK *)Global_ODB_Ptr->ObStrategyBlock->SBdataptr; - - if((ghostDataPtr->CloakingEffectiveness == 0) - && (ghostDataPtr->type==I_BehaviourPredatorPlayer || ghostDataPtr->type==I_BehaviourPredator - || (ghostDataPtr->type==I_BehaviourInanimateObject&&ghostDataPtr->IOType==IOT_Ammo&&ghostDataPtr->subtype==AMMO_PRED_DISC) - || (ghostDataPtr->type==I_BehaviourPredatorDisc_SeekTrack) - || (ghostDataPtr->type==I_BehaviourNetCorpse&&ghostDataPtr->subtype==I_BehaviourPredatorPlayer) )) - { - useVision=1; - } - break; - } - - case I_BehaviourNetCorpse: - { - NETCORPSEDATABLOCK *corpseDataPtr = (NETCORPSEDATABLOCK *)sbPtr->SBdataptr; - if (corpseDataPtr->Type==I_BehaviourPredatorPlayer || corpseDataPtr->Type==I_BehaviourPredator) - { - useVision=1; - } - break; - } - case I_BehaviourHierarchicalFragment: - { - HDEBRIS_BEHAV_BLOCK *debrisDataPtr = (HDEBRIS_BEHAV_BLOCK *)sbPtr->SBdataptr; - if (debrisDataPtr->Type==I_BehaviourPredator) - { - useVision=1; - } - break; - } - case I_BehaviourInanimateObject: - { - INANIMATEOBJECT_STATUSBLOCK* objStatPtr = (INANIMATEOBJECT_STATUSBLOCK*) sbPtr->SBdataptr; - - switch(objStatPtr->typeId) - { - case IOT_FieldCharge: - { - useVision = 1; - break; - } - case IOT_Ammo: - { - if (objStatPtr->subType == AMMO_PRED_RIFLE || objStatPtr->subType == AMMO_PRED_DISC) - { - useVision = 1; - } - break; - } - default: - break; - } - break; - } - - default: - break; - } - - if (useVision) - { - PredatorSeeAliensVision_ShapePipeline(shapePtr); - return; - } - } - else if (!Global_ODB_Ptr->ObMyModule) - { - PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr); - if (!(playerStatusPtr->cloakOn||playerStatusPtr->CloakingEffectiveness!=0)) - { - PredatorSeeAliensVision_ShapePipeline(shapePtr); - return; - } - } - break; - } - default: - break; - } - -// if((Global_ODB_Ptr->ObStrategyBlock)&&(Global_ODB_Ptr->ObStrategyBlock->I_SBtype == I_BehaviourAlien)) - //textprint("shape alien\n"); - #if 0 - objectCompletelyInView = ObjectCompletelyWithinFrustrum(Global_ODB_Ptr); - if(!objectCompletelyInView) TestVerticesWithFrustrum(); - #else - TestVerticesWithFrustrum(); - #endif - - #if 1 - /* interesting hack for predator cloaking */ - if(Global_ODB_Ptr->ObStrategyBlock) - { - PRED_CLOAKSTATE cloakingStatus = PCLOAK_Off; - - if(Global_ODB_Ptr->ObStrategyBlock->I_SBtype == I_BehaviourNetGhost) - { - NETGHOSTDATABLOCK *ghostData = (NETGHOSTDATABLOCK *)Global_ODB_Ptr->ObStrategyBlock->SBdataptr; - - if(ghostData->CloakingEffectiveness) - { - cloakingStatus = PCLOAK_On; - CloakingMode = ONE_FIXED*5/4-ghostData->CloakingEffectiveness; - } - } - if(Global_ODB_Ptr->ObStrategyBlock->I_SBtype == I_BehaviourPredator) - { - PREDATOR_STATUS_BLOCK *predData = (PREDATOR_STATUS_BLOCK *)Global_ODB_Ptr->ObStrategyBlock->SBdataptr; - - if (predData->CloakingEffectiveness) - { - cloakingStatus = PCLOAK_On; - CloakingMode = ONE_FIXED*5/4-predData->CloakingEffectiveness;//32768; - } - } - - if (cloakingStatus == PCLOAK_On) - { - do - { - POLYHEADER *polyPtr = (POLYHEADER*) (*itemArrayPtr++); - int pif; - #if 0 - if (objectCompletelyInView) - { - pif = PolygonShouldBeDrawn(polyPtr); - } - else - { - pif = PolygonWithinFrustrum(polyPtr); - } - #else - pif = PolygonWithinFrustrum(polyPtr); - #endif - if(pif) - { - - #if 1 - switch(polyPtr->PolyItemType) - { - case I_ZB_Gouraud3dTexturedPolygon: - case I_ZB_Gouraud2dTexturedPolygon: - CloakedPolygon_Construct(polyPtr); - if (pif!=2) - { - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedCloakedPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - else D3D_ZBufferedCloakedPolygon_Output(polyPtr,VerticesBuffer); - break; - default: - textprint("found polygon of type %d\n",polyPtr->PolyItemType); - break; - } - #else - { - CloakedTexturedPolygon_Construct(polyPtr); - if (pif!=2) - { - TexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - TexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - TexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - TexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - TexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_CloakedPredatorPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - else D3D_CloakedPredatorPolygon_Output(polyPtr,VerticesBuffer); - } - #endif - } - } - while(--numitems); - return; - } - } - else if (!Global_ODB_Ptr->ObMyModule) - { - PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr); - if (playerStatusPtr->cloakOn||playerStatusPtr->CloakingEffectiveness!=0) - { - int a = GetSin(CloakingPhase&4095); - a = MUL_FIXED(a,a); - CloakingMode = ONE_FIXED*5/4-playerStatusPtr->CloakingEffectiveness;//32768; - do - { - POLYHEADER *polyPtr = (POLYHEADER*) (*itemArrayPtr++); - int pif; - pif = PolygonWithinFrustrum(polyPtr); - if(pif) - { - switch(polyPtr->PolyItemType) - { - case I_ZB_Gouraud3dTexturedPolygon: - case I_ZB_Gouraud2dTexturedPolygon: - CloakedPolygon_Construct(polyPtr); - if (pif!=2) - { - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedCloakedPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - else D3D_ZBufferedCloakedPolygon_Output(polyPtr,VerticesBuffer); - break; - default: - textprint("found polygon of type %d\n",polyPtr->PolyItemType); - break; - } - } - } - while(--numitems); - return; - } - - } - #endif - #if 0 -// if (Global_ODB_Ptr->ObStrategyBlock && !Global_ODB_Ptr->ObMyModule) - { - do - { - POLYHEADER *polyPtr = (POLYHEADER*) (*itemArrayPtr++); - int pif; - - pif = PolygonWithinFrustrum(polyPtr); - - if (pif) - { - GouraudPolygon_Construct(polyPtr); - - if (pif!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(polyPtr,RenderPolygon.Vertices); - - } - else D3D_ZBufferedGouraudPolygon_Output(polyPtr,VerticesBuffer); - } - } - while(--numitems); - return; - } - #endif - do - { - POLYHEADER *polyPtr = (POLYHEADER*) (*itemArrayPtr++); - int pif; - #if 0 - if (objectCompletelyInView) - { - pif = PolygonShouldBeDrawn(polyPtr); - } - else - { - pif = PolygonWithinFrustrum(polyPtr); - } - #else - pif = PolygonWithinFrustrum(polyPtr); - #endif - - if (pif) - { - switch(polyPtr->PolyItemType) - { - #if debug - case I_Polyline: - case I_FilledPolyline: - case I_Wireframe: - - /* NB This is intended to fall through to the GouraudPolygon case */ - #endif -// case I_Gouraud3dTexturedPolygon: - case I_GouraudPolygon: - case I_Gouraud2dTexturedPolygon: - case I_Gouraud3dTexturedPolygon: - case I_2dTexturedPolygon: - case I_3dTexturedPolygon: - case I_ZB_2dTexturedPolygon: - case I_ZB_3dTexturedPolygon: - { - - // LOCALASSERT(0); - break; - } - case I_ZB_GouraudPolygon: - { -// break; - // LOCALASSERT(0); - GouraudPolygon_Construct(polyPtr); - - if (pif!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(polyPtr,RenderPolygon.Vertices); - - } - else D3D_ZBufferedGouraudPolygon_Output(polyPtr,VerticesBuffer); - break; - } - case I_ZB_Gouraud3dTexturedPolygon: - case I_ZB_Gouraud2dTexturedPolygon: - { - GouraudTexturedPolygon_Construct(polyPtr); - if (pif!=2) - { - /* if this polygon is a quad, split it into two */ - if(RenderPolygon.NumberOfVertices==4) - { - RenderPolygon.NumberOfVertices=3; - TriangleVerticesBuffer[0] = VerticesBuffer[0]; - TriangleVerticesBuffer[1] = VerticesBuffer[2]; - TriangleVerticesBuffer[2] = VerticesBuffer[3]; - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) goto SecondTriangle; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) goto SecondTriangle; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) goto SecondTriangle; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) goto SecondTriangle; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) goto SecondTriangle; - - if (polyPtr->PolyFlags & iflag_transparent) - { - AddToTranslucentPolyList(polyPtr,RenderPolygon.Vertices); - } - else - { - D3D_ZBufferedGouraudTexturedPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - - SecondTriangle: - RenderPolygon.NumberOfVertices=3; - VerticesBuffer[0] = TriangleVerticesBuffer[0]; - VerticesBuffer[1] = TriangleVerticesBuffer[1]; - VerticesBuffer[2] = TriangleVerticesBuffer[2]; - } - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - -// polyPtr->PolyFlags |= iflag_transparent; - if (polyPtr->PolyFlags & iflag_transparent) - { - AddToTranslucentPolyList(polyPtr,RenderPolygon.Vertices); - } - else - { - D3D_ZBufferedGouraudTexturedPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - - } - else - { -// polyPtr->PolyFlags |= iflag_transparent; - if (polyPtr->PolyFlags & iflag_transparent) - { - AddToTranslucentPolyList(polyPtr,VerticesBuffer); - } - else - { - D3D_ZBufferedGouraudTexturedPolygon_Output(polyPtr,VerticesBuffer); - } - } - break; - } - default: - break; - } - } - } - while(--numitems); -} - -void PredatorThermalVision_ShapePipeline(SHAPEHEADER *shapePtr) -{ - int numitems= shapePtr->numitems; - int **itemArrayPtr = shapePtr->items; - - LOCALASSERT(numitems); - - TestVerticesWithFrustrum(); - do - { - POLYHEADER *polyPtr = (POLYHEADER*) (*itemArrayPtr++); - - int pif = PolygonWithinFrustrum(polyPtr); - - if (pif) - { - PredatorThermalVisionPolygon_Construct(polyPtr); - - if (pif!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - - D3D_PredatorThermalVisionPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - else D3D_PredatorThermalVisionPolygon_Output(polyPtr,VerticesBuffer); - } - } - while(--numitems); -} -void PredatorSeeAliensVision_ShapePipeline(SHAPEHEADER *shapePtr) -{ - int numitems= shapePtr->numitems; - int **itemArrayPtr = shapePtr->items; - - LOCALASSERT(numitems); - - TestVerticesWithFrustrum(); - do - { - POLYHEADER *polyPtr = (POLYHEADER*) (*itemArrayPtr++); - - switch (polyPtr->PolyItemType) - { - case I_ZB_Gouraud3dTexturedPolygon: - case I_ZB_Gouraud2dTexturedPolygon: - { - int pif = PolygonWithinFrustrum(polyPtr); - - if (pif) - { - PredatorSeeAliensVisionPolygon_Construct(polyPtr); - - #if 0 - if (pif!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - - D3D_PredatorSeeAliensVisionPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - else D3D_PredatorSeeAliensVisionPolygon_Output(polyPtr,VerticesBuffer); - #else - if (pif!=2) - { - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudTexturedPolygon_Output(polyPtr,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudTexturedPolygon_Output(polyPtr,VerticesBuffer); - #endif - } - break; - } - default: - break; - } - } - while(--numitems); -} - - -/* CLOAKED POLYGONS */ -static void CloakedPolygon_Construct(POLYHEADER *polyPtr) -{ - int *texture_defn_ptr; - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - - /* get ptr to uv coords for this polygon */ - { - int texture_defn_index = (polyPtr->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - } - - VertexNumberPtr = &polyPtr->Poly1stPt; - - /* If this texture is animated the UV array must be calculated */ - if(polyPtr->PolyFlags & iflag_txanim) - { - /* Create the UV array */ - int uv_array[maxpolypts * 2]; - CreateTxAnimUVArray(texture_defn_ptr, uv_array, (int*)polyPtr); - texture_defn_ptr = uv_array; - - do - { - VECTORCH *vertexPtr = &(RotatedPts[*VertexNumberPtr]); - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - renderVerticesPtr->U = texture_defn_ptr[0]; - renderVerticesPtr->V = texture_defn_ptr[1]; - - VertexIntensity(renderVerticesPtr); - { - VECTORCH mag; - int alpha; - mag.vx = vertexPtr->vx - Global_ODB_Ptr->ObView.vx; - mag.vy = vertexPtr->vy - Global_ODB_Ptr->ObView.vy; - mag.vz = vertexPtr->vz - Global_ODB_Ptr->ObView.vz; - - - if (mag.vx<0) mag.vx = -mag.vx; - if (mag.vy<0) mag.vy = -mag.vy; - if (mag.vz<0) mag.vz = -mag.vz; - alpha = GetSin(((mag.vx+mag.vy+mag.vz)*3+CloakingPhase)&4095); - - renderVerticesPtr->A = MUL_FIXED(alpha,alpha)>>10; - - if(renderVerticesPtr->A==255) - { - renderVerticesPtr->R = 255; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 255; - } - - } - renderVerticesPtr++; - VertexNumberPtr++; - - texture_defn_ptr += 2; - } - while(--i); - } - else - { - do - { - VECTORCH *vertexPtr = &(RotatedPts[*VertexNumberPtr]); - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - renderVerticesPtr->U = texture_defn_ptr[0] << 16; - renderVerticesPtr->V = texture_defn_ptr[1] << 16; - - VertexIntensity(renderVerticesPtr); - { - VECTORCH mag; - int alpha; - - mag.vx = vertexPtr->vx - ObjectCentre.vx; - mag.vy = vertexPtr->vy - MUL_FIXED(ObjectCentre.vy,87381); - mag.vz = vertexPtr->vz - ObjectCentre.vz; - - if (mag.vx<0) mag.vx = -mag.vx; - if (mag.vy<0) mag.vy = -mag.vy; - if (mag.vz<0) mag.vz = -mag.vz; - alpha = GetSin(((mag.vx+mag.vy+mag.vz)*8+CloakingPhase)&4095); - - alpha=MUL_FIXED(alpha,alpha); - if (alpha>CloakingMode) - { - alpha=CloakingMode; - } - alpha/=256; - if (alpha>255) alpha = 255; - renderVerticesPtr->A = alpha; - - if(CloakingMode>ONE_FIXED) - { - alpha = GetSin(((mag.vx+mag.vy+mag.vz)+CloakingPhase)&4095); - alpha = MUL_FIXED(alpha,alpha)>>8; - if(alpha==255) - { - renderVerticesPtr->A = 255; - renderVerticesPtr->G = 128; - renderVerticesPtr->B = 255; - } - } - } - renderVerticesPtr++; - VertexNumberPtr++; - - texture_defn_ptr += 2; - } - while(--i); - } - -} - -static void PredatorThermalVisionPolygon_Construct(POLYHEADER *polyPtr) -{ - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - - VertexNumberPtr = &polyPtr->Poly1stPt; - - do - { - VECTORCH *vertexPtr = &(RotatedPts[*VertexNumberPtr]); - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - - { - int alpha; - if (Global_ODB_Ptr->SpecialFXFlags&SFXFLAG_ISAFFECTEDBYHEAT) - { - int distanceFromHeatSource = 100000; - int sourceNumber=NumberOfHeatSources; - while(sourceNumber--) - { - VECTORCH mag; - int m; - mag.vx = vertexPtr->vx - HeatSourceList[sourceNumber].Position.vx; - mag.vy = vertexPtr->vy - HeatSourceList[sourceNumber].Position.vy; - mag.vz = vertexPtr->vz - HeatSourceList[sourceNumber].Position.vz; - - m = Approximate3dMagnitude(&mag)*64; - - if(m>3); - if (alpha>65536) alpha = 65536; - } - else - { - alpha = 65536; - } - - { - int brightness = MUL_FIXED(MUL_FIXED(alpha,alpha),1275); - - if (brightness<256) - { - renderVerticesPtr->R=255; - renderVerticesPtr->G=brightness; - renderVerticesPtr->B=0; - } - else if (brightness<255+256) - { - int b=brightness-255; - renderVerticesPtr->R=(255-b); - renderVerticesPtr->G=255; - renderVerticesPtr->B=0; - } - else if (brightness<255*2+256) - { - int b=brightness-255*2; - renderVerticesPtr->R=0; - renderVerticesPtr->G=255; - renderVerticesPtr->B=b; - } - else if (brightness<255*3+256) - { - int b=brightness-255*3; - renderVerticesPtr->R=0; - renderVerticesPtr->G=255-b; - renderVerticesPtr->B=255; - } - else - { - int b=brightness-255*4; - renderVerticesPtr->R=0; - renderVerticesPtr->G=0; - renderVerticesPtr->B=255-b/2; - } - } - } - renderVerticesPtr++; - VertexNumberPtr++; - } - while(--i); -} - -static void PredatorSeeAliensVisionPolygon_Construct(POLYHEADER *polyPtr) -{ - int *texture_defn_ptr; - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - int alpha; - - VertexNumberPtr = &polyPtr->Poly1stPt; - - { - { - int texture_defn_index = (polyPtr->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - } - - /* get ptr to uv coords for this polygon */ - if(polyPtr->PolyFlags & iflag_txanim) - { - /* Create the UV array */ - int uv_array[maxpolypts * 2]; - CreateTxAnimUVArray(texture_defn_ptr, uv_array, (int*)polyPtr); - texture_defn_ptr = uv_array; - } - - if( (Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_MELTINGINTOGROUND) - &&(Global_ODB_Ptr->ObFlags2 < ONE_FIXED) ) - { - alpha = Global_ODB_Ptr->ObFlags2 >> 8; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - else - { - alpha = 0; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_OFF; - } - - do - { - VECTORCH *vertexPtr = &(RotatedPts[*VertexNumberPtr]); - - if(polyPtr->PolyFlags & iflag_txanim) - { - renderVerticesPtr->U = texture_defn_ptr[0]; - renderVerticesPtr->V = texture_defn_ptr[1]; - } - else - { - renderVerticesPtr->U = texture_defn_ptr[0] << 16; - renderVerticesPtr->V = texture_defn_ptr[1] << 16; - } - - - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - { - VECTORCH mag = RotatedPts[*VertexNumberPtr];//*(((VECTORCH *)Global_ShapeVNormals) + *VertexNumberPtr); - int colour; - mag.vx = vertexPtr->vx - Global_ODB_Ptr->ObView.vx; - mag.vy = vertexPtr->vy - Global_ODB_Ptr->ObView.vy; - mag.vz = vertexPtr->vz - Global_ODB_Ptr->ObView.vz; - - colour = GetSin(((mag.vx+mag.vy+mag.vz)*8+CloakingPhase)&4095); - colour = MUL_FIXED(colour,colour); - renderVerticesPtr->B = MUL_FIXED(colour,255); - renderVerticesPtr->R = renderVerticesPtr->B/2; - renderVerticesPtr->G = renderVerticesPtr->B/2; - - colour = MUL_FIXED(colour,colour); - colour = MUL_FIXED(colour,colour); - - renderVerticesPtr->SpecularR = colour/1024; - renderVerticesPtr->SpecularG = colour/1024; - renderVerticesPtr->SpecularB = colour/1024; - renderVerticesPtr->A = alpha; - } - - texture_defn_ptr += 2; - renderVerticesPtr++; - VertexNumberPtr++; - } - while(--i); - } -} - -/* GOURAUD POLYGONS */ -static void GouraudPolygon_Construct(POLYHEADER *polyPtr) -{ - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - VertexNumberPtr = &polyPtr->Poly1stPt; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_OFF; - - do - { - int i; - renderVerticesPtr->X = RotatedPts[*VertexNumberPtr].vx; - renderVerticesPtr->Y = RotatedPts[*VertexNumberPtr].vy; - renderVerticesPtr->Z = RotatedPts[*VertexNumberPtr].vz; - VertexIntensity(renderVerticesPtr); - i = (renderVerticesPtr->B+renderVerticesPtr->R+renderVerticesPtr->G)/3; - renderVerticesPtr->R = i; - renderVerticesPtr->G = i; - renderVerticesPtr->B = 0; - renderVerticesPtr++; - VertexNumberPtr++; - } - while(--i); - -} - - - - - - -/* GOURAUD TEXTURED POLYGONS */ -static void GouraudTexturedPolygon_Construct(POLYHEADER *polyPtr) -{ - int *texture_defn_ptr; - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - - - /* get ptr to uv coords for this polygon */ - { - int texture_defn_index = (polyPtr->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - } - - VertexNumberPtr = &polyPtr->Poly1stPt; - - /* If this texture is animated the UV array must be calculated */ - if(polyPtr->PolyFlags & iflag_txanim) - { - /* Create the UV array */ - int uv_array[maxpolypts * 2]; - CreateTxAnimUVArray(texture_defn_ptr, uv_array, (int*)polyPtr); - texture_defn_ptr = uv_array; - - do - { - VECTORCH *vertexPtr = &(RotatedPts[*VertexNumberPtr]); - if (TRIPTASTIC_CHEATMODE) - { - renderVerticesPtr->X = vertexPtr->vx+GetSin((CloakingPhase*2 +vertexPtr->vz)&4095)/1024; - renderVerticesPtr->Y = vertexPtr->vy+GetSin((CloakingPhase-3000 +vertexPtr->vx)&4095)/1024; - renderVerticesPtr->Z = vertexPtr->vz+GetSin((CloakingPhase*3+239+vertexPtr->vy)&4095)/1024; - } - else if (UNDERWATER_CHEATMODE) - { - renderVerticesPtr->X = vertexPtr->vx+(GetSin((CloakingPhase/2 +vertexPtr->vz)&4095))/1024; - renderVerticesPtr->Y = vertexPtr->vy+(GetSin((CloakingPhase-3000+vertexPtr->vx)&4095))/1024; - renderVerticesPtr->Z = vertexPtr->vz+(GetSin((CloakingPhase/3+239+vertexPtr->vy)&4095))/1024; - } - else - { - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - } - renderVerticesPtr->U = texture_defn_ptr[0]; - renderVerticesPtr->V = texture_defn_ptr[1]; - - if( (Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_MELTINGINTOGROUND) - &&(Global_ODB_Ptr->ObFlags2 < ONE_FIXED) ) - { - renderVerticesPtr->A = Global_ODB_Ptr->ObFlags2 >> 8; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - - } - else if (polyPtr->PolyFlags & iflag_transparent) - { - renderVerticesPtr->A = 128; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - else - { - if (TRIPTASTIC_CHEATMODE) - { - renderVerticesPtr->A = TripTasticPhase; - } - else if (MOTIONBLUR_CHEATMODE) - { - renderVerticesPtr->A = 128; - } - else - { - renderVerticesPtr->A = 255; - } - RenderPolygon.TranslucencyMode = TRANSLUCENCY_OFF; - } - - if (polyPtr->PolyFlags & iflag_nolight) - { - switch (CurrentVisionMode) - { - default: - case VISION_MODE_NORMAL: - { - renderVerticesPtr->R = 255; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 255; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_IMAGEINTENSIFIER: - { - renderVerticesPtr->R = 0; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 0; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_PRED_THERMAL: - { - renderVerticesPtr->R = 0; - renderVerticesPtr->G = 0; - renderVerticesPtr->B = 255; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_PRED_SEEALIENS: - { - renderVerticesPtr->R = 255; - renderVerticesPtr->G = 0; - renderVerticesPtr->B = 0; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_PRED_SEEPREDTECH: - { - renderVerticesPtr->R = 0; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 0; - renderVerticesPtr->SpecularR = 255; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 255; - break; - } - } - - } - else - { - VertexIntensity(renderVerticesPtr); - } - renderVerticesPtr++; - VertexNumberPtr++; - - texture_defn_ptr += 2; - } - while(--i); - } - else - { - do - { - VECTORCH *vertexPtr = &(RotatedPts[*VertexNumberPtr]); - #if UNDERWATER - renderVerticesPtr->X = vertexPtr->vx+GetSin((CloakingPhase*2 +vertexPtr->vz)&4095)/1024; - renderVerticesPtr->Y = vertexPtr->vy+GetSin((CloakingPhase-3000 +vertexPtr->vx)&4095)/1024; - renderVerticesPtr->Z = vertexPtr->vz+GetSin((CloakingPhase*3+239+vertexPtr->vy)&4095)/1024; - #elif SPATIAL_SHOCKWAVE - { - int d = Magnitude(vertexPtr); - int a = (CloakingPhase&16383)+4000; - int u = d-a; - int offset; - - if (u>0 && u<8192) - { - VECTORCH n = *vertexPtr; - Normalise(&n); - u<<=3; - offset = MUL_FIXED(MUL_FIXED(2*u,ONE_FIXED-u),8000) + MUL_FIXED(MUL_FIXED(u,u),8192 ); - LOCALASSERT(offset>=0 && offset<=8192); - renderVerticesPtr->X = MUL_FIXED(n.vx,d);//a+offset*2); - renderVerticesPtr->Y = MUL_FIXED(n.vy,d);//a+offset*2); - renderVerticesPtr->Z = MUL_FIXED(n.vz,a+offset); - - } - else - { - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - } - - } - #else - if (TRIPTASTIC_CHEATMODE) - { - renderVerticesPtr->X = vertexPtr->vx+GetSin((CloakingPhase*2 +vertexPtr->vz)&4095)/1024; - renderVerticesPtr->Y = vertexPtr->vy+GetSin((CloakingPhase-3000 +vertexPtr->vx)&4095)/1024; - renderVerticesPtr->Z = vertexPtr->vz+GetSin((CloakingPhase*3+239+vertexPtr->vy)&4095)/1024; - } - else if (UNDERWATER_CHEATMODE) - { - renderVerticesPtr->X = vertexPtr->vx+(GetSin((CloakingPhase/2 +vertexPtr->vz)&4095))/1024; - renderVerticesPtr->Y = vertexPtr->vy+(GetSin((CloakingPhase-3000 +vertexPtr->vx)&4095))/1024; - renderVerticesPtr->Z = vertexPtr->vz+(GetSin((CloakingPhase/3+239+vertexPtr->vy)&4095))/1024; - } - else - { - renderVerticesPtr->X = vertexPtr->vx; - renderVerticesPtr->Y = vertexPtr->vy; - renderVerticesPtr->Z = vertexPtr->vz; - } - #endif - renderVerticesPtr->U = texture_defn_ptr[0] << 16; - renderVerticesPtr->V = texture_defn_ptr[1] << 16; - - if( (Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_MELTINGINTOGROUND) - &&(Global_ODB_Ptr->ObFlags2 < ONE_FIXED) ) - { - renderVerticesPtr->A = Global_ODB_Ptr->ObFlags2 >> 8; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - - } - else if (polyPtr->PolyFlags & iflag_transparent) - { - renderVerticesPtr->A = 128; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - else - { - #if 0 - VECTORCH velocity; - int a; - velocity.vx = Player->ObStrategyBlock->DynPtr->Position.vx - Player->ObStrategyBlock->DynPtr->PrevPosition.vx; - velocity.vy = Player->ObStrategyBlock->DynPtr->Position.vy - Player->ObStrategyBlock->DynPtr->PrevPosition.vy; - velocity.vz = Player->ObStrategyBlock->DynPtr->Position.vz - Player->ObStrategyBlock->DynPtr->PrevPosition.vz; - a = DIV_FIXED(Magnitude(&velocity)*4,NormalFrameTime)/256; - if (a>192) a = 192; - renderVerticesPtr->A = a; - - #elif 1 - if (TRIPTASTIC_CHEATMODE) - { - renderVerticesPtr->A = TripTasticPhase; - } - else if (MOTIONBLUR_CHEATMODE) - { - renderVerticesPtr->A = 128; - } - else - { - renderVerticesPtr->A = 255; - } - #endif - - RenderPolygon.TranslucencyMode = TRANSLUCENCY_OFF; - } - - - if (polyPtr->PolyFlags & iflag_nolight) - { - switch (CurrentVisionMode) - { - default: - case VISION_MODE_NORMAL: - { - renderVerticesPtr->R = 255; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 255; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_IMAGEINTENSIFIER: - { - renderVerticesPtr->R = 0; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 0; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_PRED_THERMAL: - { - renderVerticesPtr->R = 0; - renderVerticesPtr->G = 0; - renderVerticesPtr->B = 255; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_PRED_SEEALIENS: - { - renderVerticesPtr->R = 255; - renderVerticesPtr->G = 0; - renderVerticesPtr->B = 0; - renderVerticesPtr->SpecularR = 0; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 0; - break; - } - case VISION_MODE_PRED_SEEPREDTECH: - { - renderVerticesPtr->R = 0; - renderVerticesPtr->G = 255; - renderVerticesPtr->B = 0; - renderVerticesPtr->SpecularR = 255; - renderVerticesPtr->SpecularG = 0; - renderVerticesPtr->SpecularB = 255; - break; - } - } - - } - else - { - VertexIntensity(renderVerticesPtr); - } - renderVerticesPtr++; - VertexNumberPtr++; - - texture_defn_ptr += 2; - } - while(--i); - } - -} - - - - - -static void VertexIntensity_Pred_Thermal(RENDERVERTEX *renderVertexPtr) -{ - int redI,blueI,specular=0; - - int vertexNumber = *VertexNumberPtr; - - - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - { - VECTORCH *vertexNormalPtr = ((VECTORCH *)Global_ShapeVNormals) + vertexNumber; - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - redI = 0; - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - if (lptr->LightFlags & LFlag_PreLitSource) continue; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - - #if 0 - distanceToLight = Approximate3dMagnitude(&vertexToLight)/2; - #else - distanceToLight = Approximate3dMagnitude(&vertexToLight); - #endif - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - - if( (distanceToLight>0) && (!(Global_ODB_Ptr->ObFlags3 & ObFlag3_NoLightDot)) ) - { - int dotproduct = MUL_FIXED(vertexNormalPtr->vx,vertexToLight.vx) - + MUL_FIXED(vertexNormalPtr->vy,vertexToLight.vy) - + MUL_FIXED(vertexNormalPtr->vz,vertexToLight.vz); - if(dotproduct>0) - { - idot = WideMulNarrowDiv(idot,dotproduct,distanceToLight); - } - else - { - idot = 0; - } - - idot = WideMulNarrowDiv(idot,dotproduct,distanceToLight); - } - - - redI += idot; - if (lptr->LightFlags&LFlag_Thermal) - { - specular += idot; - } - } - } - } - blueI = ONE_FIXED/2; - if (renderVertexPtr->Z>5000) - { - int a = (renderVertexPtr->Z-5000); - if (a>4096) blueI = (blueI*4096)/a; - } - - blueI >>= 8; - - if(redI >= ONE_FIXED) redI = (ONE_FIXED - 1); - redI >>=8; - - specular>>=6; - if (specular >= 255) specular = 255; - - /* KJL 12:41:54 05/10/98 - red/green swapped, whilst testing colours */ - renderVertexPtr->R = 0; - ColourIntensityArray[vertexNumber].R = 0; - renderVertexPtr->B = blueI; - ColourIntensityArray[vertexNumber].B = blueI; - renderVertexPtr->G = redI/2; - ColourIntensityArray[vertexNumber].G = redI/2; - - - renderVertexPtr->SpecularR = specular;//specularR; - ColourIntensityArray[vertexNumber].SpecularR = specular;//specularR; - - renderVertexPtr->SpecularG = specular; - ColourIntensityArray[vertexNumber].SpecularG = specular; - - renderVertexPtr->SpecularB = specular;//specularB; - ColourIntensityArray[vertexNumber].SpecularB = specular;//specularB; - - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; -} -static void VertexIntensity_Pred_SeeAliens(RENDERVERTEX *renderVertexPtr) -{ - int redI,blueI,specular=0; - - int vertexNumber = *VertexNumberPtr; - - - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - - { - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - redI = 0; - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - if (lptr->LightFlags & LFlag_PreLitSource) continue; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - - distanceToLight = Approximate3dMagnitude(&vertexToLight); - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - - redI += idot; - if(lptr->LightFlags&LFlag_Electrical) - { - specular += idot; - } - } - } - } - redI >>=11; - if(redI > 255) redI = 255; - renderVertexPtr->G = redI; - ColourIntensityArray[vertexNumber].G = redI; - - - blueI = ONE_FIXED/2; - if (renderVertexPtr->Z>5000) - { - int a = (renderVertexPtr->Z-5000); - if (a>4096) blueI = (blueI*4096)/a; - } - /* KJL 12:41:54 05/10/98 - red/green swapped, whilst testing colours */ - blueI >>= 9; - renderVertexPtr->R = blueI; - ColourIntensityArray[vertexNumber].R = blueI; - renderVertexPtr->B = 0; - ColourIntensityArray[vertexNumber].B = 0; - - specular >>=10; - if(specular>255) specular = 255; - renderVertexPtr->SpecularR = specular;//specularR; - ColourIntensityArray[vertexNumber].SpecularR = specular;//specularR; - renderVertexPtr->SpecularG = specular; - ColourIntensityArray[vertexNumber].SpecularG = specular; - renderVertexPtr->SpecularB = specular;//specularB; - ColourIntensityArray[vertexNumber].SpecularB = specular;//specularB; -} -static void VertexIntensity_Pred_SeePredatorTech(RENDERVERTEX *renderVertexPtr) -{ - int redI,blueI; - - int vertexNumber = *VertexNumberPtr; - - - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - { - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - redI = 0; - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - if (lptr->LightFlags & LFlag_PreLitSource) continue; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - - distanceToLight = Approximate3dMagnitude(&vertexToLight); - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - - redI += idot; - } - } - } - blueI = ONE_FIXED-1; - if (renderVertexPtr->Z>5000) - { - int a = (renderVertexPtr->Z-5000); - if (a>4096) blueI = (blueI*4096)/a; - } - - blueI >>=8; - - redI >>=9; - if (redI>255) redI=255; - - /* KJL 12:41:54 05/10/98 - red/green swapped, whilst testing colours */ - renderVertexPtr->R = 255; - ColourIntensityArray[vertexNumber].R = 255; - renderVertexPtr->B = 255; - ColourIntensityArray[vertexNumber].B = 255; - renderVertexPtr->G = blueI; - ColourIntensityArray[vertexNumber].G = blueI; - - - renderVertexPtr->SpecularR = 255;//specularR; - ColourIntensityArray[vertexNumber].SpecularR = 255;//specularR; - - renderVertexPtr->SpecularG = redI; - ColourIntensityArray[vertexNumber].SpecularG = redI; - - renderVertexPtr->SpecularB = 255;//specularB; - ColourIntensityArray[vertexNumber].SpecularB = 255;//specularB; - -} -static void VertexIntensity_ImageIntensifier(RENDERVERTEX *renderVertexPtr) -{ - int greenI; - int specular; - - int vertexNumber = *VertexNumberPtr; - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - - { - VECTORCH *vertexNormalPtr = ((VECTORCH *)Global_ShapeVNormals) + vertexNumber; - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - greenI = 0; - specular = 0; - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - { - int dx,dy,dz; - - dx = vertexToLight.vx; - if (dx<0) dx = -dx; - - dy = vertexToLight.vy; - if (dy<0) dy = -dy; - - dz = vertexToLight.vz; - if (dz<0) dz = -dz; - - - if (dx>dy) - { - if (dx>dz) - { - distanceToLight = dx + ((dy+dz)>>2); - } - else - { - distanceToLight = dz + ((dy+dx)>>2); - } - } - else - { - if (dy>dz) - { - distanceToLight = dy + ((dx+dz)>>2); - } - else - { - distanceToLight = dz + ((dx+dy)>>2); - } - } - } - - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - - if(distanceToLight>0) - { - int dotproduct = MUL_FIXED(vertexNormalPtr->vx,vertexToLight.vx) - + MUL_FIXED(vertexNormalPtr->vy,vertexToLight.vy) - + MUL_FIXED(vertexNormalPtr->vz,vertexToLight.vz); - - if(dotproduct>0) - { - idot = (WideMulNarrowDiv(idot,dotproduct,distanceToLight)+idot/4); - } - else - { - idot /= 4; - } - } - if(idot<0) - { - LOCALASSERT(idot>=0); - } - specular += idot; - } - } - } - - greenI = 255; - if (renderVertexPtr->Z>5000) - { - int a = (renderVertexPtr->Z-5000); - if (a>4096) greenI = (greenI*4096)/a; - } - renderVertexPtr->G = greenI; - ColourIntensityArray[vertexNumber].G = greenI; - - renderVertexPtr->R = 0; - ColourIntensityArray[vertexNumber].R = 0; - renderVertexPtr->B = 0; - ColourIntensityArray[vertexNumber].B = 0; - - specular>>=7; - if (specular>254) specular=254; - LOCALASSERT(specular>=0 && specular<=254); - renderVertexPtr->SpecularR = specular; - ColourIntensityArray[vertexNumber].SpecularR = specular; - renderVertexPtr->SpecularG = specular; - ColourIntensityArray[vertexNumber].SpecularG = specular; - renderVertexPtr->SpecularB = specular; - ColourIntensityArray[vertexNumber].SpecularB = specular; - -} - -static void VertexIntensity_Alien_Sense(RENDERVERTEX *renderVertexPtr) -{ - int intensity; - int vertexNumber = *VertexNumberPtr; - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = 0; - renderVertexPtr->SpecularG = 0; - renderVertexPtr->SpecularB = 0; - return; - } - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - - intensity = 255; - if (renderVertexPtr->Z>5000) - { - int a = (renderVertexPtr->Z-5000); - if (a>1024) intensity = (intensity*1024)/a; - } - - renderVertexPtr->R = intensity; - ColourIntensityArray[vertexNumber].R = intensity; - - renderVertexPtr->G = intensity; - ColourIntensityArray[vertexNumber].G = intensity; - - renderVertexPtr->B = intensity; - ColourIntensityArray[vertexNumber].B = intensity; - - renderVertexPtr->SpecularR = 0; - renderVertexPtr->SpecularG = 0; - renderVertexPtr->SpecularB = 0; - -} - - - -static void VertexIntensity_Standard_Opt(RENDERVERTEX *renderVertexPtr) -{ - int redI,greenI,blueI; - int specularR,specularG,specularB; - - int vertexNumber = *VertexNumberPtr; - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - { - VECTORCH *vertexNormalPtr = ((VECTORCH *)Global_ShapeVNormals) + vertexNumber; - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_PreLit) - { - unsigned int packedI = Global_EID_IPtr[vertexNumber]; - blueI = (packedI&255)*257; - - packedI >>=8; - greenI = (packedI&255)*257; - - packedI >>=8; - redI = (packedI&255)*257; - } - else - { - redI = 0; - greenI = 0; - blueI = 0; - } - - specularR = 0; - specularG = 0; - specularB = 0; - - - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - { - int dx,dy,dz; - - dx = vertexToLight.vx; - if (dx<0) dx = -dx; - - dy = vertexToLight.vy; - if (dy<0) dy = -dy; - - dz = vertexToLight.vz; - if (dz<0) dz = -dz; - - - if (dx>dy) - { - if (dx>dz) - { - distanceToLight = dx + ((dy+dz)>>2); - } - else - { - distanceToLight = dz + ((dy+dx)>>2); - } - } - else - { - if (dy>dz) - { - distanceToLight = dy + ((dx+dz)>>2); - } - else - { - distanceToLight = dz + ((dx+dy)>>2); - } - } - } - - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - int r,g,b; - - if(distanceToLight>0) - { - int dotproduct = MUL_FIXED(vertexNormalPtr->vx,vertexToLight.vx) - + MUL_FIXED(vertexNormalPtr->vy,vertexToLight.vy) - + MUL_FIXED(vertexNormalPtr->vz,vertexToLight.vz); - - if(dotproduct>0) - { - idot = (WideMulNarrowDiv(idot,dotproduct,distanceToLight)+idot/4)/2; - } - else - { - idot /= 8; - } - } - - r = MUL_FIXED(idot,lptr->RedScale); - g = MUL_FIXED(idot,lptr->GreenScale); - b = MUL_FIXED(idot,lptr->BlueScale); - - redI += r; - greenI += g; - blueI += b; - - if( !(lptr->LightFlags & LFlag_PreLitSource) - && !(lptr->LightFlags & LFlag_NoSpecular) ) - { - specularR += r; - specularG += g; - specularB += b; - } - } - } - } - - if(Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_ONFIRE) - { - specularR>>=2; - specularG>>=2; - specularB>>=2; - - redI>>=1; - greenI>>=1; - blueI>>=1; - } - - /* Intensity for Textures */ - redI >>= 8; - if(redI > 255) redI = 255; - renderVertexPtr->R = redI; - ColourIntensityArray[vertexNumber].R = redI; - - greenI >>= 8; - if(greenI > 255) greenI = 255; - renderVertexPtr->G = greenI; - ColourIntensityArray[vertexNumber].G = greenI; - - blueI >>= 8; - if(blueI > 255) blueI = 255; - renderVertexPtr->B = blueI; - ColourIntensityArray[vertexNumber].B = blueI; - - specularR >>= 10; - if(specularR > 255) specularR = 255; - renderVertexPtr->SpecularR = specularR; - ColourIntensityArray[vertexNumber].SpecularR = specularR; - - specularG >>= 10; - if(specularG > 255) specularG = 255; - renderVertexPtr->SpecularG = specularG; - ColourIntensityArray[vertexNumber].SpecularG = specularG; - - specularB >>= 10; - if(specularB > 255) specularB = 255; - renderVertexPtr->SpecularB = specularB; - ColourIntensityArray[vertexNumber].SpecularB = specularB; - -} -static void VertexIntensity_FullBright(RENDERVERTEX *renderVertexPtr) -{ - int vertexNumber = *VertexNumberPtr; - renderVertexPtr->R = 255; - ColourIntensityArray[vertexNumber].R = 255; - renderVertexPtr->G = 255; - ColourIntensityArray[vertexNumber].G = 255; - renderVertexPtr->B = 255; - ColourIntensityArray[vertexNumber].B = 255; - - renderVertexPtr->SpecularR = 0; - ColourIntensityArray[vertexNumber].SpecularR = 0; - renderVertexPtr->SpecularG = 0; - ColourIntensityArray[vertexNumber].SpecularG = 0; - renderVertexPtr->SpecularB = 0; - ColourIntensityArray[vertexNumber].SpecularB = 0; -} - -static void VertexIntensity_DiscoInferno(RENDERVERTEX *renderVertexPtr) -{ - int redI,greenI,blueI; - int specularR,specularG,specularB; - - int vertexNumber = *VertexNumberPtr; - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - { - VECTORCH *vertexNormalPtr = ((VECTORCH *)Global_ShapeVNormals) + vertexNumber; - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_PreLit) - { - unsigned int packedI = Global_EID_IPtr[vertexNumber]; - blueI = (packedI&255)*257; - - packedI >>=8; - greenI = (packedI&255)*257; - - packedI >>=8; - redI = (packedI&255)*257; - } - else - { - redI = 0; - greenI = 0; - blueI = 0; - } - - specularR = 0; - specularG = 0; - specularB = 0; - - - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - { - int dx,dy,dz; - - dx = vertexToLight.vx; - if (dx<0) dx = -dx; - - dy = vertexToLight.vy; - if (dy<0) dy = -dy; - - dz = vertexToLight.vz; - if (dz<0) dz = -dz; - - - if (dx>dy) - { - if (dx>dz) - { - distanceToLight = dx + ((dy+dz)>>2); - } - else - { - distanceToLight = dz + ((dy+dx)>>2); - } - } - else - { - if (dy>dz) - { - distanceToLight = dy + ((dx+dz)>>2); - } - else - { - distanceToLight = dz + ((dx+dy)>>2); - } - } - } - - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - int r,g,b; - - if(distanceToLight>0) - { - int dotproduct = MUL_FIXED(vertexNormalPtr->vx,vertexToLight.vx) - + MUL_FIXED(vertexNormalPtr->vy,vertexToLight.vy) - + MUL_FIXED(vertexNormalPtr->vz,vertexToLight.vz); - - if(dotproduct>0) - { - idot = (WideMulNarrowDiv(idot,dotproduct,distanceToLight)+idot/4)/2; - } - else - { - idot /= 8; - } - } - - r = MUL_FIXED(idot,lptr->RedScale); - g = MUL_FIXED(idot,lptr->GreenScale); - b = MUL_FIXED(idot,lptr->BlueScale); - - redI += r; - greenI += g; - blueI += b; - - if( !(lptr->LightFlags & LFlag_PreLitSource) - && !(lptr->LightFlags & LFlag_NoSpecular) ) - { - specularR += r; - specularG += g; - specularB += b; - } - } - } - } - - if(Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_ONFIRE) - { - specularR>>=2; - specularG>>=2; - specularB>>=2; - - redI>>=1; - greenI>>=1; - blueI>>=1; - } - - { - int i = (redI+greenI+blueI); - int si = (specularR+specularG+specularB); - - VECTORCH vertex = *(((VECTORCH *)Global_ShapePoints)+vertexNumber); - int r,g,b; - vertex.vx += Global_ODB_Ptr->ObWorld.vx; - vertex.vy += Global_ODB_Ptr->ObWorld.vy; - vertex.vz += Global_ODB_Ptr->ObWorld.vz; - - r = GetSin((vertex.vx+CloakingPhase)&4095); - r = MUL_FIXED(r,r); - redI = MUL_FIXED(r,i); - specularR = MUL_FIXED(r,si); - - g = GetSin((vertex.vy+CloakingPhase/2)&4095); - g = MUL_FIXED(g,g); - greenI = MUL_FIXED(g,i); - specularG = MUL_FIXED(g,si); - - b = GetSin((vertex.vz+CloakingPhase*3)&4095); - b = MUL_FIXED(b,b); - blueI = MUL_FIXED(b,i); - specularB = MUL_FIXED(b,si); - - } - - - - /* Intensity for Textures */ - redI >>= 8; - if(redI > 255) redI = 255; - renderVertexPtr->R = redI; - ColourIntensityArray[vertexNumber].R = redI; - - greenI >>= 8; - if(greenI > 255) greenI = 255; - renderVertexPtr->G = greenI; - ColourIntensityArray[vertexNumber].G = greenI; - - blueI >>= 8; - if(blueI > 255) blueI = 255; - renderVertexPtr->B = blueI; - ColourIntensityArray[vertexNumber].B = blueI; - - specularR >>= 10; - if(specularR > 255) specularR = 255; - renderVertexPtr->SpecularR = specularR; - ColourIntensityArray[vertexNumber].SpecularR = specularR; - - specularG >>= 10; - if(specularG > 255) specularG = 255; - renderVertexPtr->SpecularG = specularG; - ColourIntensityArray[vertexNumber].SpecularG = specularG; - - specularB >>= 10; - if(specularB > 255) specularB = 255; - renderVertexPtr->SpecularB = specularB; - ColourIntensityArray[vertexNumber].SpecularB = specularB; - - -} -static void VertexIntensity_Underwater(RENDERVERTEX *renderVertexPtr) -{ - int redI,greenI,blueI; - int specularR,specularG,specularB; - - int vertexNumber = *VertexNumberPtr; - - if(ColourIntensityArray[vertexNumber].Stamp==ObjectCounter) - { - renderVertexPtr->R = ColourIntensityArray[vertexNumber].R; - renderVertexPtr->G = ColourIntensityArray[vertexNumber].G; - renderVertexPtr->B = ColourIntensityArray[vertexNumber].B; - renderVertexPtr->SpecularR = ColourIntensityArray[vertexNumber].SpecularR; - renderVertexPtr->SpecularG = ColourIntensityArray[vertexNumber].SpecularG; - renderVertexPtr->SpecularB = ColourIntensityArray[vertexNumber].SpecularB; - return; - } - ColourIntensityArray[vertexNumber].Stamp=ObjectCounter; - { - VECTORCH *vertexNormalPtr = ((VECTORCH *)Global_ShapeVNormals) + vertexNumber; - VECTORCH *vertexPtr = ((VECTORCH *)Global_ShapePoints)+vertexNumber; - - LIGHTBLOCK **larrayptr; - LIGHTBLOCK *lptr; - int i; - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_PreLit) - { - unsigned int packedI = Global_EID_IPtr[vertexNumber]; - blueI = (packedI&255)*257; - - packedI >>=8; - greenI = (packedI&255)*257; - - packedI >>=8; - redI = (packedI&255)*257; - } - else - { - redI = 0; - greenI = 0; - blueI = 0; - } - - specularR = 0; - specularG = 0; - specularB = 0; - - - - larrayptr = LightSourcesForObject; - - for(i = NumLightSourcesForObject; i!=0; i--) - { - - VECTORCH vertexToLight; - int distanceToLight; - - lptr = *larrayptr++; - - vertexToLight.vx = lptr->LocalLP.vx - vertexPtr->vx; - vertexToLight.vy = lptr->LocalLP.vy - vertexPtr->vy; - vertexToLight.vz = lptr->LocalLP.vz - vertexPtr->vz; - { - int dx,dy,dz; - - dx = vertexToLight.vx; - if (dx<0) dx = -dx; - - dy = vertexToLight.vy; - if (dy<0) dy = -dy; - - dz = vertexToLight.vz; - if (dz<0) dz = -dz; - - - if (dx>dy) - { - if (dx>dz) - { - distanceToLight = dx + ((dy+dz)>>2); - } - else - { - distanceToLight = dz + ((dy+dx)>>2); - } - } - else - { - if (dy>dz) - { - distanceToLight = dy + ((dx+dz)>>2); - } - else - { - distanceToLight = dz + ((dx+dy)>>2); - } - } - } - - if(distanceToLight < lptr->LightRange) - { - int idot = MUL_FIXED(lptr->LightRange-distanceToLight,lptr->BrightnessOverRange); - int r,g,b; - - if(distanceToLight>0) - { - int dotproduct = MUL_FIXED(vertexNormalPtr->vx,vertexToLight.vx) - + MUL_FIXED(vertexNormalPtr->vy,vertexToLight.vy) - + MUL_FIXED(vertexNormalPtr->vz,vertexToLight.vz); - - if(dotproduct>0) - { - idot = (WideMulNarrowDiv(idot,dotproduct,distanceToLight)+idot/4)/2; - } - else - { - idot /= 8; - } - } - - r = MUL_FIXED(idot,lptr->RedScale); - g = MUL_FIXED(idot,lptr->GreenScale); - b = MUL_FIXED(idot,lptr->BlueScale); - - redI += r; - greenI += g; - blueI += b; - - if( !(lptr->LightFlags & LFlag_PreLitSource) - && !(lptr->LightFlags & LFlag_NoSpecular) ) - { - specularR += r; - specularG += g; - specularB += b; - } - } - } - } - - if(Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_ONFIRE) - { - specularR>>=2; - specularG>>=2; - specularB>>=2; - - redI>>=1; - greenI>>=1; - blueI>>=1; - } - - { - if (specularBZ*4) - specularB = renderVertexPtr->Z*4; - - } - - - - /* Intensity for Textures */ - redI >>= 8; - if(redI > 255) redI = 255; - renderVertexPtr->R = redI; - ColourIntensityArray[vertexNumber].R = redI; - - greenI >>= 8; - if(greenI > 255) greenI = 255; - renderVertexPtr->G = greenI; - ColourIntensityArray[vertexNumber].G = greenI; - - blueI >>= 8; - if(blueI > 255) blueI = 255; - renderVertexPtr->B = blueI; - ColourIntensityArray[vertexNumber].B = blueI; - - specularR >>= 10; - if(specularR > 255) specularR = 255; - renderVertexPtr->SpecularR = specularR; - ColourIntensityArray[vertexNumber].SpecularR = specularR; - - specularG >>= 10; - if(specularG > 255) specularG = 255; - renderVertexPtr->SpecularG = specularG; - ColourIntensityArray[vertexNumber].SpecularG = specularG; - - specularB >>= 10; - if(specularB > 255) specularB = 255; - renderVertexPtr->SpecularB = specularB; - ColourIntensityArray[vertexNumber].SpecularB = specularB; - - - } - -/*KJL*********************************************************************** -* The following functions have been transplanted from the old shape.c, and * -* will probably be found a new home at some point in the future. * -***********************************************************************KJL*/ - -/* - - Texture Animation - -*/ - -int* GetTxAnimArrayZ(int shape, int item) - -{ - - SHAPEHEADER *sptr; - int **item_array_ptr; - int **shape_textures; - int *item_ptr; - POLYHEADER *pheader; - int texture_defn_index; - - - sptr = GetShapeData(shape); - - if(sptr && sptr->sh_textures && sptr->items) { - - item_array_ptr = sptr->items; - shape_textures = sptr->sh_textures; - - item_ptr = item_array_ptr[item]; - pheader = (POLYHEADER *) item_ptr; - - texture_defn_index = (pheader->PolyColour >> TxDefn); - - if(pheader->PolyFlags & iflag_txanim) { - - return (int*) shape_textures[texture_defn_index]; - - } - - else return 0; - - } - - else return 0; - -} - - -TXANIMHEADER* GetTxAnimDataZ(int shape, int item, int sequence) - -{ - - SHAPEHEADER *sptr; - TXANIMHEADER **txah_ptr; - TXANIMHEADER *txah; - int **item_array_ptr; - int **shape_textures; - int *item_ptr; - POLYHEADER *pheader; - int texture_defn_index; - - - sptr = GetShapeData(shape); - - if(sptr && sptr->sh_textures && sptr->items) { - - item_array_ptr = sptr->items; - shape_textures = sptr->sh_textures; - - item_ptr = item_array_ptr[item]; - pheader = (POLYHEADER *) item_ptr; - - texture_defn_index = (pheader->PolyColour >> TxDefn); - - if(pheader->PolyFlags & iflag_txanim) { - - txah_ptr = (TXANIMHEADER **) shape_textures[texture_defn_index]; - txah_ptr++; /* Skip sequence shadow */ - - txah = txah_ptr[sequence]; - - return txah; - - } - - else return 0; - - } - - else return 0; - -} - - - - -/* - - For some animated textures each sequence will represent a different view - of a sprite. When each sequence has the same number of frames there is no - problem transferring the value from one "txa_currentframe" to the other. - However if the new sequence has a different number of frames a scaling must - be done. - -*/ - -void ChangeSequence(TXANIMHEADER *txah_old, TXANIMHEADER *txah_new) - -{ - - if(txah_new->txa_numframes == txah_old->txa_numframes) { - - txah_new->txa_currentframe = txah_old->txa_currentframe; - - } - - else { - - txah_new->txa_currentframe = - - WideMulNarrowDiv(txah_old->txa_currentframe, - txah_new->txa_maxframe, - txah_old->txa_maxframe); - - } -} - - -/* - - This function copies the TXANIMHEADER from the shape data item sequence - selected by the TXACTRLBLK to the TXANIMHEADER in the TXACTRLBLK - -*/ - -TXANIMHEADER* GetTxAnimHeaderFromShape(TXACTRLBLK *taptr, int shape) - -{ - - TXANIMHEADER *txah = 0; - - - { - - txah = GetTxAnimDataZ(shape, taptr->tac_item, taptr->tac_sequence); - - } - - if(txah) { - - taptr->tac_txah.txa_flags = txah->txa_flags; - taptr->tac_txah.txa_state = txah->txa_state; - taptr->tac_txah.txa_numframes = txah->txa_numframes; - taptr->tac_txah.txa_framedata = txah->txa_framedata; - taptr->tac_txah.txa_currentframe = txah->txa_currentframe; - taptr->tac_txah.txa_maxframe = txah->txa_maxframe; - taptr->tac_txah.txa_speed = txah->txa_speed; - - } - - return txah; - -} - - -/* - - Texture Animation Control Blocks are used to update animation. At the start - of "AddShape()" the relevant control block values are copied across to the - item TXANIMHEADER. - -*/ - -void UpdateTxAnim(TXANIMHEADER *txah) - -{ - - int UpdateRate; - - - if(txah->txa_flags & txa_flag_play) { - - /* How fast do we go? */ - - if(txah->txa_flags & txa_flag_quantiseframetime) { - - /* This option is still being designed and tested */ - - UpdateRate = txah->txa_speed & (~4096); /* 1/16th */ - if(UpdateRate < 4096) UpdateRate = 4096; - UpdateRate = MUL_FIXED(NormalFrameTime, txah->txa_speed); - - } - - else UpdateRate = MUL_FIXED(NormalFrameTime, txah->txa_speed); - - - /* Update the current frame */ - - if(txah->txa_flags & txa_flag_reverse) { - - txah->txa_currentframe -= UpdateRate; - - if(txah->txa_currentframe < 0) { - - if(txah->txa_flags & txa_flag_noloop) { - - txah->txa_currentframe = 0; - - } - - else { - - txah->txa_currentframe += txah->txa_maxframe; - - } - - } - - } - - else { - - txah->txa_currentframe += UpdateRate; - - if(txah->txa_currentframe >= txah->txa_maxframe) { - - if(txah->txa_flags & txa_flag_noloop) { - - txah->txa_currentframe = txah->txa_maxframe - 1; - - } - - else { - - txah->txa_currentframe -= txah->txa_maxframe; - - } - - } - - } - - } - -} - - -/* - - Display block TXACTRLBLKS pass their data on to shape TXANIMHEADERs - -*/ - -void ControlTextureAnimation(DISPLAYBLOCK *dptr) -{ - - TXACTRLBLK *taptr; - TXANIMHEADER *txah; - int *iptr; - - - taptr = dptr->ObTxAnimCtrlBlks; - - while(taptr) - { - /* Update animation for the display block TXACTRLBLK */ - LOCALASSERT(&(taptr->tac_txah)); - UpdateTxAnim(&taptr->tac_txah); - - /* Get the TXANIMHEADER from the shape data */ - - txah = taptr->tac_txah_s; - - /* Copy across the current frame */ - LOCALASSERT(txah); - txah->txa_currentframe = taptr->tac_txah.txa_currentframe; - - iptr = taptr->tac_txarray; - LOCALASSERT(iptr); - *iptr = taptr->tac_sequence; - - taptr = taptr->tac_next; - } -} - -void CreateTxAnimUVArray(int *txa_data, int *uv_array, int *shapeitemptr) -{ - TXANIMHEADER **txah_ptr; - TXANIMHEADER *txah; - TXANIMFRAME *txaf; - TXANIMFRAME *txaf0; - TXANIMFRAME *txaf1; - int *txaf0_uv; - int *txaf1_uv; - int CurrentFrame, NextFrame, Alpha, OneMinusAlpha; - int i; - int *iptr; - int Orient, Scale; - int OrientX, OrientY; - int ScaleX, ScaleY; - int sin, cos; - int x, y; - int x1, y1; - int o1, o2, od; - POLYHEADER *pheader = (POLYHEADER*) shapeitemptr; - int sequence; - int *txf_imageptr; - - - /* The sequence # will have been copied across by the control block */ - - sequence = *txa_data++; - - #if 0 - textprint("sequence = %d\n", sequence); - #endif - - txah_ptr = (TXANIMHEADER **) txa_data; - txah = txah_ptr[sequence]; - txaf = txah->txa_framedata; - - - /* Because the current frame can be set from outside, clamp it first */ - - if(txah->txa_currentframe < 0) { - - txah->txa_currentframe = 0; - - } - - if(txah->txa_currentframe >= txah->txa_maxframe) { - - txah->txa_currentframe = txah->txa_maxframe - 1; - - } - - - /* Frame # */ - - CurrentFrame = txah->txa_currentframe >> 16; - Alpha = txah->txa_currentframe - (CurrentFrame << 16); - OneMinusAlpha = ONE_FIXED - Alpha; - - - /* Start and End Frame */ - - NextFrame = CurrentFrame + 1; - if(NextFrame >= txah->txa_numframes) NextFrame = 0; - - txaf0 = &txaf[CurrentFrame]; - txaf1 = &txaf[NextFrame]; - - - /* - - Write the image index back to the item by overwriting the shape data. - This is not elegant but it is one of the kind of things you expect to - have happen when a major new feature is retro-fitted to a system. - - */ - - pheader->PolyColour &= ClrTxIndex; - - - /* Multi-View Sprites need to select an image from the array */ - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_MultiViewSprite) { - - int **txf_uvarrayptr0 = (int **) txaf0->txf_uvdata; - int **txf_uvarrayptr1 = (int **) txaf1->txf_uvdata; - int index; - - - index = GetMVSIndex(txah, <oVMat_Euler); - - /*textprint("index = %d\n", index);*/ - - - txf_imageptr = (int *) txaf0->txf_image; - pheader->PolyColour |= txf_imageptr[index]; - - - /* Get the uv data */ - - txaf0_uv = txf_uvarrayptr0[index]; - txaf1_uv = txf_uvarrayptr1[index]; - - } - - - /* Single-View Sprites have just one image per frame */ - - else { - - pheader->PolyColour |= txaf0->txf_image; - - txaf0_uv = txaf0->txf_uvdata; - txaf1_uv = txaf1->txf_uvdata; - - } - - - /* Calculate UVs */ - - iptr = uv_array; - - if(txah->txa_flags & txa_flag_interpolate_uvs) { - - for(i = txaf0->txf_numuvs; i!=0; i--) { - - iptr[0] = MUL_FIXED(txaf0_uv[0], OneMinusAlpha) - + MUL_FIXED(txaf1_uv[0], Alpha); - - iptr[1] = MUL_FIXED(txaf0_uv[1], OneMinusAlpha) - + MUL_FIXED(txaf1_uv[1], Alpha); - - /*textprint("%d, %d\n", iptr[0] >> 16, iptr[1] >> 16);*/ - - txaf0_uv += 2; - txaf1_uv += 2; - iptr += 2; - - } - - } - - else { - - for(i = txaf0->txf_numuvs; i!=0; i--) { - - iptr[0] = txaf0_uv[0]; - iptr[1] = txaf0_uv[1]; - - /*textprint("%d, %d\n", iptr[0] >> 16, iptr[1] >> 16);*/ - - txaf0_uv += 2; - iptr += 2; - - } - - } - - - /* Interpolate Orient and Scale */ - - o1 = txaf0->txf_orient; - o2 = txaf1->txf_orient; - - if(o1 == o2) { - - Orient = o1; - - } - - else { - - od = o1 - o2; - if(od < 0) od = -od; - - if(od >= deg180) { - - o1 <<= (32 - 12); - o1 >>= (32 - 12); - o2 <<= (32 - 12); - o2 >>= (32 - 12); - - } - - Orient = MUL_FIXED(o1, OneMinusAlpha) + MUL_FIXED(o2, Alpha); - Orient &= wrap360; - - } - - - if(txaf0->txf_scale == txaf1->txf_scale) { - - Scale = txaf0->txf_scale; - - } - - else { - - Scale = WideMul2NarrowDiv(txaf0->txf_scale, OneMinusAlpha, - txaf1->txf_scale, Alpha, ONE_FIXED); - - } - - - /* Interpolate Orient and Scale Origins */ - - if(txaf0->txf_orientx == txaf1->txf_orientx) { - - OrientX = txaf0->txf_orientx; - - } - - else { - - OrientX = MUL_FIXED(txaf0->txf_orientx, OneMinusAlpha) - + MUL_FIXED(txaf1->txf_orientx, Alpha); - - } - - - if(txaf0->txf_orienty == txaf1->txf_orienty) { - - OrientY = txaf0->txf_orienty; - - } - - else { - - OrientY = MUL_FIXED(txaf0->txf_orienty, OneMinusAlpha) - + MUL_FIXED(txaf1->txf_orienty, Alpha); - - } - - - if(txaf0->txf_scalex == txaf1->txf_scalex) { - - ScaleX = txaf0->txf_scalex; - - } - - else { - - ScaleX = MUL_FIXED(txaf0->txf_scalex, OneMinusAlpha) - + MUL_FIXED(txaf1->txf_scalex, Alpha); - - } - - - if(txaf0->txf_scaley == txaf1->txf_scaley) { - - ScaleY = txaf0->txf_scaley; - - } - - else { - - ScaleY = MUL_FIXED(txaf0->txf_scaley, OneMinusAlpha) - + MUL_FIXED(txaf1->txf_scaley, Alpha); - - } - - - - #if 0 - textprint("Alpha = %d\n", Alpha); - textprint("OneMinusAlpha = %d\n", OneMinusAlpha); - textprint("Orient = %d\n", Orient); - textprint("txaf0->txf_scale = %d\n", txaf0->txf_scale); - textprint("txaf1->txf_scale = %d\n", txaf1->txf_scale); - textprint("Scale = %d\n", Scale); - #endif - - /*WaitForReturn();*/ - - - -#if 1 - - - /* Rotate UV Array */ - - if(Orient) { - - sin = GetSin(Orient); - cos = GetCos(Orient); - - iptr = uv_array; - - for(i = txaf0->txf_numuvs; i!=0; i--) { - - x = iptr[0] - OrientX; - y = iptr[1] - OrientY; - - x1 = MUL_FIXED(x, cos) - MUL_FIXED(y, sin); - y1 = MUL_FIXED(x, sin) + MUL_FIXED(y, cos); - - iptr[0] = x1 + OrientX; - iptr[1] = y1 + OrientY; - - iptr += 2; - - } - - } - - - /* Scale UV Array */ - - if(Scale != ONE_FIXED) { - - iptr = uv_array; - - for(i = txaf0->txf_numuvs; i!=0; i--) { - - x = iptr[0] - ScaleX; - y = iptr[1] - ScaleY; - - x = MUL_FIXED(x, Scale); - y = MUL_FIXED(y, Scale); - - iptr[0] = x + ScaleX; - iptr[1] = y + ScaleY; - - iptr += 2; - - } - - } - - -#endif - - - - - - - #if 0 - textprint("Current Frame = %d\n", txah->txa_currentframe); - textprint("Current Frame = %d\n", CurrentFrame); - textprint("Next Frame = %d\n", NextFrame); - textprint("Alpha = %d\n", Alpha); - #endif - - - /*textprint("Leaving CreateTxAnimUVArray\n");*/ - /*WaitForReturn();*/ - -} - - - - - - - - - - - - - -/* - - Shape Points for Unrotated Sprites - -*/ - -void ShapeSpritePointsInstr(SHAPEINSTR *shapeinstrptr) - -{ - - int **shapeitemarrayptr = shapeinstrptr->sh_instr_data; - int *shapeitemptr = *shapeitemarrayptr; - VECTORCH *rotptsptr = RotatedPts; - int numitems; - - - for(numitems = shapeinstrptr->sh_numitems; numitems!=0; numitems--) { - - rotptsptr->vx = shapeitemptr[ix]; - rotptsptr->vx += Global_ODB_Ptr->ObView.vx; - - rotptsptr->vy = shapeitemptr[iy]; - rotptsptr->vy += Global_ODB_Ptr->ObView.vy; - - rotptsptr->vz = shapeitemptr[iz]; - rotptsptr->vz += Global_ODB_Ptr->ObView.vz; - - shapeitemptr += vsize; - rotptsptr++; - - } - -} - - -/* - - Shape Points for Rotated Sprites - -*/ - - -//I've put my alterations to the sprite rotation -//in the #else part.Richard -#define UseKevinsModifiedSSRPI No - - -#if UseKevinsModifiedSSRPI - - - -#define ssrpi_kill_py Yes - -void ShapeSpriteRPointsInstr(SHAPEINSTR *shapeinstrptr) - -{ - - int **shapeitemarrayptr = shapeinstrptr->sh_instr_data; - int *shapeitemptr = *shapeitemarrayptr; - VECTORCH *rotptsptr = RotatedPts; - int numitems; - int x,y,z; - MATRIXCH m; - #if ssrpi_kill_py - EULER e; - char flipX=0; - #endif - /* - - Sprite Resizing - - If this shape is a sprite and is using sprite resizing, there will be a transformed - copy of the polygon points array (XY only) to copy back to the shape. - - WARNING! - - This function and data structure ASSUME that the sprite shape is using an item array, - that there is just the one item, and that the world and UV space coordinates are in the - form of "TL, BL, BR, TR". It also assumes that the sprite polygon is in the XY plane. - - If ANY of these is not true for your sprite, DON'T attempt to use resizing! - - */ - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_Sprite && - Global_ShapeHeaderPtr->shapeflags & ShapeFlag_SpriteResizing) { - - int *ShapePoints; - int **item_array_ptr; - int *item_ptr; - POLYHEADER *pheader; - int *mypolystart; - int texture_defn_index; - int *texture_defn_ptr; - TXANIMHEADER **txah_ptr; - TXANIMHEADER *txah; - TXANIMFRAME *txaf; - TXANIMFRAME *txaf0; - int CurrentFrame, sequence; - int *iptr; - - ShapePoints = *(Global_ShapeHeaderPtr->points); - - /* Item */ - - item_array_ptr = Global_ShapeHeaderPtr->items; /* Assume item array */ - item_ptr = item_array_ptr[0]; /* Assume only one polygon */ - pheader = (POLYHEADER *) item_ptr; - - /* Texture Animation */ - - texture_defn_index = (pheader->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - - sequence = *texture_defn_ptr++; - - txah_ptr = (TXANIMHEADER **) texture_defn_ptr; - txah = txah_ptr[sequence]; - txaf = txah->txa_framedata; - - /* Because the current frame can be set from outside, clamp it first */ - - if(txah->txa_currentframe < 0) - txah->txa_currentframe = 0; - if(txah->txa_currentframe >= txah->txa_maxframe) - txah->txa_currentframe = txah->txa_maxframe - 1; - - CurrentFrame = txah->txa_currentframe >> 16; - - txaf0 = &txaf[CurrentFrame]; - - /* UV array */ - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_Sprite) { - - int **uvarrayptr = (int **) txaf0->txf_uvdata; - iptr = uvarrayptr[GetMVSIndex(txah, <oVMat_Euler)]; - - } - - else { - - iptr = txaf0->txf_uvdata; - - } - - iptr += (txaf0->txf_numuvs * 2); - - /* Redefine the Shape Points */ - - mypolystart = &pheader->Poly1stPt; - - while(*mypolystart != Term) { - - /*textprint("copying point %d\n", *mypolystart / vsize);*/ - - *(ShapePoints + *mypolystart + ix) = iptr[0]; - *(ShapePoints + *mypolystart + iy) = iptr[1]; - - mypolystart++; - iptr += 2; - - } - - } - - - #if ssrpi_kill_py - - - /* Make a copy of the object matrix */ - - CopyMatrix(&Global_ODB_Ptr->ObMat, &m); - - - - /* Combine it with the view matrix */ - - MatrixMultiply(&Global_VDB_Ptr->VDB_SpriteMat, &m, &m); - - /* Extract the Euler Angles */ - MatrixToEuler(&m, &e); - - #if 0 - textprint("X: %d\n", e.EulerX); - textprint("Y: %d\n", e.EulerY); - textprint("Z: %d\n", e.EulerZ); - #endif - - - /* Knock out the pitch and yaw */ - - /* KJL 17:23:22 01/09/97 - If the sprite is turned away from you, flip along the - x-axis so that you get the mirror image of the sprite */ - if (e.EulerY<1024 || e.EulerY>3072) flipX = 1; - e.EulerY=0; - e.EulerX=0; - - - /* Turn it back into a matrix */ - CreateEulerMatrix(&e, &m); - TransposeMatrixCH(&m); - - #else /* ssrpi_kill_py */ - - - MatrixMultiply(&Global_VDB_Ptr->VDB_SpriteMat, &Global_ODB_Ptr->ObMat, &m); - - - #endif /* ssrpi_kill_py */ - - - for(numitems = shapeinstrptr->sh_numitems; numitems!=0; numitems--) { - - x = shapeitemptr[ix]; - y = shapeitemptr[iy]; - z = shapeitemptr[iz]; - - rotptsptr->vx = MUL_FIXED(m.mat11, x); - rotptsptr->vx += MUL_FIXED(m.mat21, y); - rotptsptr->vx += MUL_FIXED(m.mat31, z); - #if ssrpi_kill_py - if (flipX) rotptsptr->vx = - rotptsptr->vx; - #endif - rotptsptr->vx += Global_ODB_Ptr->ObView.vx; - - rotptsptr->vy = MUL_FIXED(m.mat12, x); - rotptsptr->vy += MUL_FIXED(m.mat22, y); - rotptsptr->vy += MUL_FIXED(m.mat32, z); - rotptsptr->vy += Global_ODB_Ptr->ObView.vy; - - rotptsptr->vz = MUL_FIXED(m.mat13, x); - rotptsptr->vz += MUL_FIXED(m.mat23, y); - rotptsptr->vz += MUL_FIXED(m.mat33, z); - rotptsptr->vz += Global_ODB_Ptr->ObView.vz; - - shapeitemptr += vsize; - rotptsptr++; - - } - -} - - - - -#else /* UseKevinsModifiedSSRPI */ - - - - -#define ssrpi_kill_py No - -void ShapeSpriteRPointsInstr(SHAPEINSTR *shapeinstrptr) - -{ - - int **shapeitemarrayptr = shapeinstrptr->sh_instr_data; - int *shapeitemptr = *shapeitemarrayptr; - VECTORCH *rotptsptr = RotatedPts; - int numitems; - int x,y; - VECTORCH vectx,vecty; - #if ssrpi_kill_py - MATRIXCH m2; - EULER e; - #endif - - - /* - - Sprite Resizing - - If this shape is a sprite and is using sprite resizing, there will be a transformed - copy of the polygon points array (XY only) to copy back to the shape. - - WARNING! - - This function and data structure ASSUME that the sprite shape is using an item array, - that there is just the one item, and that the world and UV space coordinates are in the - form of "TL, BL, BR, TR". It also assumes that the sprite polygon is in the XY plane. - - If ANY of these is not true for your sprite, DON'T attempt to use resizing! - - */ - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_Sprite && - Global_ShapeHeaderPtr->shapeflags & ShapeFlag_SpriteResizing) { - - int *ShapePoints; - int **item_array_ptr; - int *item_ptr; - POLYHEADER *pheader; - int *mypolystart; - int texture_defn_index; - int *texture_defn_ptr; - TXANIMHEADER **txah_ptr; - TXANIMHEADER *txah; - TXANIMFRAME *txaf; - TXANIMFRAME *txaf0; - int CurrentFrame, sequence; - int *iptr; - - ShapePoints = *(Global_ShapeHeaderPtr->points); - - /* Item */ - - item_array_ptr = Global_ShapeHeaderPtr->items; /* Assume item array */ - item_ptr = item_array_ptr[0]; /* Assume only one polygon */ - pheader = (POLYHEADER *) item_ptr; - - /* Texture Animation */ - - texture_defn_index = (pheader->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - - sequence = *texture_defn_ptr++; - - txah_ptr = (TXANIMHEADER **) texture_defn_ptr; - txah = txah_ptr[sequence]; - txaf = txah->txa_framedata; - - /* Because the current frame can be set from outside, clamp it first */ - - if(txah->txa_currentframe < 0) - txah->txa_currentframe = 0; - if(txah->txa_currentframe >= txah->txa_maxframe) - txah->txa_currentframe = txah->txa_maxframe - 1; - - CurrentFrame = txah->txa_currentframe >> 16; - - txaf0 = &txaf[CurrentFrame]; - - - /* UV array */ - - if(Global_ShapeHeaderPtr->shapeflags & ShapeFlag_Sprite) { - - int **uvarrayptr = (int **) txaf0->txf_uvdata; - iptr = uvarrayptr[GetMVSIndex(txah, <oVMat_Euler)]; - - } - - else { - - iptr = txaf0->txf_uvdata; - - } - - iptr += (txaf0->txf_numuvs * 2); - - - /* Redefine the Shape Points */ - - mypolystart = &pheader->Poly1stPt; - - while(*mypolystart != Term) { - - /*textprint("copying point %d\n", *mypolystart / vsize);*/ - - ((VECTORCH *)ShapePoints)[*mypolystart].vx = iptr[0]; - ((VECTORCH *)ShapePoints)[*mypolystart].vy = iptr[1]; - - /*textprint("x, y = %d, %d\n", iptr[0], iptr[1]);*/ - - mypolystart++; - iptr += 2; - - } - - } - - //project the object's y vector onto the screen. - //then rotate the sprite's points according to the vector's orintation - //relative to the screen's y vector. - vecty=*(VECTORCH*)&Global_ODB_Ptr->ObMat.mat21; - - RotateVector(&vecty,&Global_VDB_Ptr->VDB_Mat); - if(Global_VDB_Ptr->VDB_ProjX!=Global_VDB_Ptr->VDB_ProjY) - { - vecty.vx=MUL_FIXED(vecty.vx,Global_VDB_Ptr->VDB_ProjX); - vecty.vy=MUL_FIXED(vecty.vy,Global_VDB_Ptr->VDB_ProjY); - } - vecty.vz=0; - if(!vecty.vx && !vecty.vy)vecty.vy=ONE_FIXED; - Normalise(&vecty); - vectx.vx=-vecty.vy; - vectx.vy=vecty.vx; - vectx.vz=0; - - for(numitems = shapeinstrptr->sh_numitems; numitems!=0; numitems--) { - - x = -shapeitemptr[ix]; - y = shapeitemptr[iy]; - - rotptsptr->vx = MUL_FIXED(vectx.vx, x); - rotptsptr->vx += MUL_FIXED(vectx.vy, y); - rotptsptr->vx += Global_ODB_Ptr->ObView.vx; - - rotptsptr->vy = MUL_FIXED(vecty.vx, x); - rotptsptr->vy += MUL_FIXED(vecty.vy, y); - rotptsptr->vy += Global_ODB_Ptr->ObView.vy; - - rotptsptr->vz = Global_ODB_Ptr->ObView.vz; - - shapeitemptr += vsize; - rotptsptr++; - - } - - -} - - - -#endif /* UseKevinsModifiedSSRPI */ - -int GetMVSIndex(TXANIMHEADER - *txah, EULER* e ) -{ - int EulerXIndex, EulerYIndex; - int theta,phi; //angles in spherical polar coordinates - //phi goes from 0 (top) to deg180 (bottom) - VECTORCH v; - - MakeVectorLocal(&Global_ODB_Ptr->ObWorld,&v,&Global_VDB_Ptr->VDB_World,&Global_ODB_Ptr->ObMat); - Normalise(&v); - phi=-ArcSin(v.vy); - phi+=deg90; - phi&=wrap360; - if(phi==deg180)phi--; - if(!v.vx && !v.vz) - { - theta=0; - } - else - { - v.vy=0; - Normalise(&v); - if(v.vz > Cosine45 || -v.vz>Cosine45) { - - theta = ArcSin(-v.vx); - - if(v.vz < 0) { - theta &= wrap360; - } - else - { - theta+=deg180; - theta =-theta; - theta &= wrap360; - } - } - - else { - - theta = ArcCos(v.vz); - - if(v.vx < 0) { - theta = -theta; - } - theta+=deg180; - theta &= wrap360; - - } - } - - EulerYIndex = theta; - EulerYIndex >>= txah->txa_euleryshift; - - - EulerYIndex <<= (11 - txah->txa_eulerxshift); - - EulerXIndex = phi; - EulerXIndex >>= txah->txa_eulerxshift; - - GLOBALASSERT((EulerXIndex+EulerYIndex)txa_num_mvs_images); - - return (EulerXIndex + EulerYIndex); - -} - - -void AddShape(DISPLAYBLOCK *dptr, VIEWDESCRIPTORBLOCK *VDB_Ptr) -{ - SHAPEHEADER *shapeheaderptr; - - if (!dptr->ObShape && dptr->SfxPtr) - { -// DrawSfxObject(dptr); - return; - } - /* KJL 12:42:38 18/05/98 - check to see if object is on fire */ - if (dptr->ObStrategyBlock) - { - if(dptr->ObStrategyBlock->SBDamageBlock.IsOnFire) - { - dptr->SpecialFXFlags |= SFXFLAG_ONFIRE; - } - else - { - dptr->SpecialFXFlags &= ~SFXFLAG_ONFIRE; - } - - } - - /* is object a morphing one? */ - if(dptr->ObMorphCtrl) - { - LOCALASSERT(dptr->ObMorphCtrl->ObMorphHeader); - if(dptr->ObMorphCtrl->ObMorphHeader) - { - GetMorphDisplay(&MorphDisplay, dptr); - dptr->ObShape = MorphDisplay.md_shape1; - dptr->ObShapeData = MorphDisplay.md_sptr1; - shapeheaderptr = MorphDisplay.md_sptr1; - } - } - else - { - shapeheaderptr = GetShapeData(dptr->ObShape); - - /* It is important to pass this SHAPEHEADER* on to the display block */ - dptr->ObShapeData = shapeheaderptr; - - // I've put this inside the else so that it does - // not conflict with morphing !!! - // make sure dptr->ObShapeData is up to date before - // doing CopyAnimationFrameToShape - - if (dptr->ShapeAnimControlBlock) - { - if (!(dptr->ShapeAnimControlBlock->current.empty)) - { - CopyAnimationFrameToShape (&dptr->ShapeAnimControlBlock->current, dptr); - } - } - } - - - ChooseLightingModel(dptr); - /* hierarchical object? */ - #if 0 - if (dptr->HModelControlBlock && !dptr->ObStrategyBlock) - { - DoHModel(dptr->HModelControlBlock,dptr); - return; - } - #endif - - - - /* Texture Animation Control */ - - if(dptr->ObTxAnimCtrlBlks) ControlTextureAnimation(dptr); - - /* Global Variables */ - Global_VDB_Ptr = VDB_Ptr; - Global_ODB_Ptr = dptr; - Global_ShapeHeaderPtr = shapeheaderptr; - - /* Shape Language Specific Setup */ - SetupShapePipeline(); - - /* - - Create the Local -> View Matrix - - LToVMat = VDB_Mat * ObMat - - "Get the points into View Space, then apply the Local Transformation" - - */ - - MatrixMultiply(&VDB_Ptr->VDB_Mat, &dptr->ObMat, <oVMat); - MatrixToEuler(<oVMat, <oVMat_Euler); - - /* - - Create the World -> Local Matrix - - WToLMat = Transposed Local Matrix - - */ - - CopyMatrix(&dptr->ObMat, &WToLMat); - TransposeMatrixCH(&WToLMat); - - - /* - - Transform the View World Location to Local Space - - -> Make the View Loc. relative to the Object View Space Centre - -> Rotate this vector using WToLMat - - */ - - - MakeVector(&VDB_Ptr->VDB_World, &dptr->ObWorld, &LocalView); - RotateVector(&LocalView, &WToLMat); - - #if 0 - { - LocalCameraZAxis.vx = - dptr->ObWorld.vx; - LocalCameraZAxis.vy = - dptr->ObWorld.vy; - LocalCameraZAxis.vz = - dptr->ObWorld.vz; - - RotateVector(&LocalCameraZAxis, &WToLMat); - } - #endif - - NumberOfHeatSources=0; - if (dptr->HModelControlBlock) - { - ObjectCentre = dptr->ObView; - - if (dptr->ObStrategyBlock) - { - HierarchicalObjectsLowestYValue = dptr->ObStrategyBlock->DynPtr->ObjectVertices[0].vy; - if (CurrentVisionMode == VISION_MODE_NORMAL && AvP.PlayerType==I_Alien) - { - DoAlienEnergyView(dptr); - } - /* - else if (CurrentVisionMode == VISION_MODE_PRED_SEEALIENS && dptr->ObStrategyBlock->I_SBtype == I_BehaviourAlien) - { - DoAlienEnergyView(dptr); - } - */ - } - - if (CurrentVisionMode == VISION_MODE_PRED_THERMAL) - { - FindHeatSourcesInHModel(dptr); - } - DoHModel(dptr->HModelControlBlock,dptr); - return; - } - // return; - - - /* Find out which light sources are in range of of the object */ - LightSourcesInRangeOfObject(dptr); - - /* Shape Language Execution Shell */ - { - SHAPEINSTR *shapeinstrptr = shapeheaderptr->sh_instruction; - - /* setup the rotated points array */ - switch (shapeinstrptr->sh_instr) - { - default: - case I_ShapePoints: - { - if(Global_ODB_Ptr->ObMorphCtrl) - { - MorphPoints(shapeinstrptr); - } - else - { - TranslateShapeVertices(shapeinstrptr); - } - break; - } - } - } - /* call polygon pipeline */ - ShapePipeline(shapeheaderptr); - /* call sfx code */ - HandleSfxForObject(dptr); - if (dptr->ObStrategyBlock) - { - if (dptr->ObStrategyBlock->I_SBtype==I_BehaviourInanimateObject) - { - INANIMATEOBJECT_STATUSBLOCK* objStatPtr = dptr->ObStrategyBlock->SBdataptr; - if(objStatPtr->typeId==IOT_FieldCharge) - { - - int i; - D3D_DecalSystem_Setup(); - for(i=0; i<63; i++) - { - PARTICLE particle; - - particle.Position.vy = -280+i-GetCos((CloakingPhase/16*i + i*64+particle.Position.vz)&4095)/1024; - - particle.Position.vx = GetCos((CloakingPhase +i*64+particle.Position.vy)&4095)/512; - particle.Position.vz = GetSin((CloakingPhase +i*64+particle.Position.vy)&4095)/512; - RotateVector(&particle.Position,&dptr->ObMat); - particle.Position.vx += dptr->ObWorld.vx; - particle.Position.vy += dptr->ObWorld.vy; - particle.Position.vz += dptr->ObWorld.vz; - - particle.ParticleID=PARTICLE_MUZZLEFLASH; - particle.Colour = 0xff00007f+(FastRandom()&0x7f7f7f); - particle.Size = 40; - RenderParticle(&particle); - } - D3D_DecalSystem_End(); - - } - - } - } -} -void DoAlienEnergyView(DISPLAYBLOCK *dispPtr) -{ - HMODELCONTROLLER *controllerPtr = dispPtr->HModelControlBlock; - unsigned int colour = MARINES_LIFEFORCE_GLOW_COLOUR; - - LOCALASSERT(controllerPtr); - - - - /* KJL 16:36:25 10/02/98 - process model */ - { - STRATEGYBLOCK *sbPtr = Global_ODB_Ptr->ObStrategyBlock; - if(sbPtr) - { - switch (sbPtr->I_SBtype) - { - case I_BehaviourAlien: - { - colour = ALIENS_LIFEFORCE_GLOW_COLOUR; - break; - } - case I_BehaviourPredator: - { - colour = PREDATORS_LIFEFORCE_GLOW_COLOUR; - break; - } - case I_BehaviourMarine: - case I_BehaviourSeal: - { - MARINE_STATUS_BLOCK *marineStatusPointer = (MARINE_STATUS_BLOCK *)(sbPtr->SBdataptr); - GLOBALASSERT(marineStatusPointer); - - if (marineStatusPointer->Android) - { - return; - } - colour = MARINES_LIFEFORCE_GLOW_COLOUR; - } - - case I_BehaviourNetGhost: - { - NETGHOSTDATABLOCK *ghostDataPtr = (NETGHOSTDATABLOCK *)Global_ODB_Ptr->ObStrategyBlock->SBdataptr; - - if (ghostDataPtr->type==I_BehaviourAlienPlayer || ghostDataPtr->type==I_BehaviourAlien - || (ghostDataPtr->type==I_BehaviourNetCorpse&&ghostDataPtr->subtype==I_BehaviourAlienPlayer) ) - { - colour = ALIENS_LIFEFORCE_GLOW_COLOUR; - } - else if (ghostDataPtr->type==I_BehaviourPredatorPlayer || ghostDataPtr->type==I_BehaviourPredator - || (ghostDataPtr->type==I_BehaviourNetCorpse&&ghostDataPtr->subtype==I_BehaviourPredatorPlayer) ) - { - colour = PREDATORS_LIFEFORCE_GLOW_COLOUR; - } - - break; - } - - case I_BehaviourNetCorpse: - { - NETCORPSEDATABLOCK *corpseDataPtr = (NETCORPSEDATABLOCK *)sbPtr->SBdataptr; - - if (corpseDataPtr->Android) - { - return; - } - - if (corpseDataPtr->Type==I_BehaviourAlienPlayer || corpseDataPtr->Type==I_BehaviourAlien) - { - colour = ALIENS_LIFEFORCE_GLOW_COLOUR; - } - else if (corpseDataPtr->Type==I_BehaviourPredatorPlayer || corpseDataPtr->Type==I_BehaviourPredator) - { - colour = PREDATORS_LIFEFORCE_GLOW_COLOUR; - } - break; - } - case I_BehaviourHierarchicalFragment: - { - HDEBRIS_BEHAV_BLOCK *debrisDataPtr = (HDEBRIS_BEHAV_BLOCK *)sbPtr->SBdataptr; - if(debrisDataPtr->Type==I_BehaviourAutoGun || debrisDataPtr->Android) - { - return; - } - else if(debrisDataPtr->Type==I_BehaviourAlien) - { - colour = ALIENS_LIFEFORCE_GLOW_COLOUR; - } - else if (debrisDataPtr->Type==I_BehaviourPredator) - { - colour = PREDATORS_LIFEFORCE_GLOW_COLOUR; - } - else if ((debrisDataPtr->Type==I_BehaviourMarine)||(debrisDataPtr->Type==I_BehaviourSeal)) - { - colour = MARINES_LIFEFORCE_GLOW_COLOUR; - } - else return; - break; - } - - case I_BehaviourAutoGun: - { - /* KJL 19:31:53 25/01/99 - organics only, please */ - return; - break; - } - default: - break; - } - } - } - if( (Global_ODB_Ptr->SpecialFXFlags & SFXFLAG_MELTINGINTOGROUND) - &&(Global_ODB_Ptr->ObFlags2 < ONE_FIXED) ) - { - unsigned int alpha = MUL_FIXED(Global_ODB_Ptr->ObFlags2,colour >> 24); - colour = (colour&0xffffff)+(alpha<<24); - } - - /* KJL 16:36:12 10/02/98 - check positions are up to date */ - ProveHModel(controllerPtr,dispPtr); - - D3D_DecalSystem_Setup(); - - FindAlienEnergySource_Recursion(controllerPtr,controllerPtr->section_data,colour); - - D3D_DecalSystem_End(); -} - -static void FindAlienEnergySource_Recursion(HMODELCONTROLLER *controllerPtr, SECTION_DATA *sectionDataPtr, unsigned int colour) -{ - /* KJL 16:29:40 10/02/98 - Recurse through hmodel */ - if ((sectionDataPtr->First_Child!=NULL)&&(!(sectionDataPtr->flags§ion_data_terminate_here))) - { - SECTION_DATA *childSectionPtr = sectionDataPtr->First_Child; - - while (childSectionPtr!=NULL) - { - LOCALASSERT(childSectionPtr->My_Parent==sectionDataPtr); - - FindAlienEnergySource_Recursion(controllerPtr,childSectionPtr,colour); - childSectionPtr=childSectionPtr->Next_Sibling; - } - } - if(sectionDataPtr->Shape && sectionDataPtr->Shape->shaperadius>LocalDetailLevels.AlienEnergyViewThreshold) - { - PARTICLE particle; - - particle.Position = sectionDataPtr->World_Offset; - particle.ParticleID=PARTICLE_MUZZLEFLASH; - particle.Colour = colour;//0x208080ff; -// particle.Colour = 0x20ff8080; -// particle.Size = sectionDataPtr->Shape->shaperadius*3; -// particle.Colour = 0x20ffffff; - particle.Size = sectionDataPtr->Shape->shaperadius*2; - RenderParticle(&particle); - } -} - -void AddHierarchicalShape(DISPLAYBLOCK *dptr, VIEWDESCRIPTORBLOCK *VDB_Ptr) -{ - - SHAPEHEADER *shapeheaderptr; - SHAPEINSTR *shapeinstrptr; - - GLOBALASSERT(!dptr->HModelControlBlock); - if(!ObjectWithinFrustrum(dptr)) return; - - - #if 0 - shapeheaderptr = GetShapeData(dptr->ObShape); - - /* It is important to pass this SHAPEHEADER* on to the display block */ - - dptr->ObShapeData = shapeheaderptr; - #else - shapeheaderptr = dptr->ObShapeData; - #endif - - - /* Texture Animation Control */ - if(dptr->ObTxAnimCtrlBlks) ControlTextureAnimation(dptr); - - /* Global Variables */ - Global_VDB_Ptr = VDB_Ptr; - Global_ODB_Ptr = dptr; - Global_ShapeHeaderPtr = shapeheaderptr; - -// if((Global_ODB_Ptr->ObStrategyBlock)&&(Global_ODB_Ptr->ObStrategyBlock->I_SBtype == I_BehaviourAlien)) - // textprint("hier alien part\n"); - - /* Shape Language Specific Setup */ - SetupShapePipeline(); - - /* - - Create the Local -> View Matrix - - LToVMat = VDB_Mat * ObMat - - "Get the points into View Space, then apply the Local Transformation" - - */ - - MatrixMultiply(&VDB_Ptr->VDB_Mat, &dptr->ObMat, <oVMat); - MatrixToEuler(<oVMat, <oVMat_Euler); - - /* - - Create the World -> Local Matrix - - WToLMat = Transposed Local Matrix - - */ - - CopyMatrix(&dptr->ObMat, &WToLMat); - TransposeMatrixCH(&WToLMat); - - - /* - - Transform the View World Location to Local Space - - -> Make the View Loc. relative to the Object View Space Centre - -> Rotate this vector using WToLMat - - */ - - - MakeVector(&VDB_Ptr->VDB_World, &dptr->ObWorld, &LocalView); - RotateVector(&LocalView, &WToLMat); - - if (!(PIPECLEANER_CHEATMODE||BALLSOFFIRE_CHEATMODE) || !dptr->ObStrategyBlock) - { - /* Find out which light sources are in range of of the object */ - LightSourcesInRangeOfObject(dptr); - - /* Shape Language Execution Shell */ - shapeinstrptr = shapeheaderptr->sh_instruction; - - /* setup the rotated points array */ - if( (dptr->SpecialFXFlags & SFXFLAG_MELTINGINTOGROUND) - &&(dptr->ObFlags2 <= ONE_FIXED) ) - { - SquishPoints(shapeinstrptr); - } - else - { - TranslateShapeVertices(shapeinstrptr); - } - - /* call polygon pipeline */ - ShapePipeline(shapeheaderptr); - } - - if (BALLSOFFIRE_CHEATMODE && dptr->ObStrategyBlock) - { - HandleObjectOnFire(dptr); - } - - /* call sfx code */ - HandleSfxForObject(dptr); - -} - - -float ViewMatrix[12]; -float ObjectViewMatrix[12]; -float Source[3]; -float Dest[3]; - -extern void TranslationSetup(void) -{ - VECTORCH v = Global_VDB_Ptr->VDB_World; - extern int PredatorVisionChangeCounter; - float p = PredatorVisionChangeCounter/65536.0f; - float o = 1.0f; - p = 1.0f+p; - - if (NAUSEA_CHEATMODE) - { - p = (GetSin((CloakingPhase/3)&4095))/65536.0f; - p = 1.0f + p*p; - - o = (GetCos((CloakingPhase/5)&4095))/65536.0f; - o = 1.0f + o*o; - } - - #if 1 - ViewMatrix[0+0*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat11)/65536.0f*o; - ViewMatrix[1+0*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat21)/65536.0f*o; - ViewMatrix[2+0*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat31)/65536.0f*o; - #else - ViewMatrix[0+0*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat11)/65536.0f; - ViewMatrix[1+0*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat21)/65536.0f; - ViewMatrix[2+0*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat31)/65536.0f; - #endif - - #if 1 - ViewMatrix[0+1*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat12)*4.0f/(65536.0f*3.0f)*p; - ViewMatrix[1+1*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat22)*4.0f/(65536.0f*3.0f)*p; - ViewMatrix[2+1*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat32)*4.0f/(65536.0f*3.0f)*p; - #else - ViewMatrix[0+1*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat12)/(65536.0f); - ViewMatrix[1+1*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat22)/(65536.0f); - ViewMatrix[2+1*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat32)/(65536.0f); - #endif - ViewMatrix[0+2*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat13)/65536.0f*CameraZoomScale; - ViewMatrix[1+2*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat23)/65536.0f*CameraZoomScale; - ViewMatrix[2+2*4] = (float)(Global_VDB_Ptr->VDB_Mat.mat33)/65536.0f*CameraZoomScale; - - RotateVector(&v,&Global_VDB_Ptr->VDB_Mat); - - ViewMatrix[3+0*4] = ((float)-v.vx)*o; - ViewMatrix[3+1*4] = ((float)-v.vy)*4.0f/3.0f*p; - ViewMatrix[3+2*4] = ((float)-v.vz)*CameraZoomScale; - - if (MIRROR_CHEATMODE) - { - ViewMatrix[0+0*4] = -ViewMatrix[0+0*4]; - ViewMatrix[1+0*4] = -ViewMatrix[1+0*4]; - ViewMatrix[2+0*4] = -ViewMatrix[2+0*4]; - - ViewMatrix[3+0*4] = -ViewMatrix[3+0*4]; - } -} - - -#if ifndef _MSC_VER -void TranslatePoint(int *source, int *dest, int *matrix); -#pragma aux TranslatePoint = \ -"fld DWORD PTR [esi]"\ -"fmul DWORD PTR [edi]"\ -"fld DWORD PTR [esi+4]"\ -"fmul DWORD PTR [edi+4]"\ -"fld DWORD PTR [esi+8]"\ -"fmul DWORD PTR [edi+8]"\ -"fxch st(1)"\ -"faddp st(2),st"\ -"fld DWORD PTR [esi]"\ -"fmul DWORD PTR [edi+16]"\ -"fxch st(1)"\ -"faddp st(2),st"\ -"fld DWORD PTR [esi+4]"\ -"fmul DWORD PTR [edi+20]"\ -"fld DWORD PTR [esi+8]"\ -"fmul DWORD PTR [edi+24]"\ -"fxch st(1)"\ -"faddp st(2),st"\ -"fld DWORD PTR [esi]"\ -"fmul DWORD PTR [edi+32]"\ -"fxch st(1)"\ -"faddp st(2),st"\ -"fld DWORD PTR [esi+4]"\ -"fmul DWORD PTR [edi+36]"\ -"fld DWORD PTR [esi+8]"\ -"fmul DWORD PTR [edi+40]"\ -"fxch st(1)"\ -"faddp st(2),st"\ -"fxch st(3)"\ -"fadd DWORD PTR [edi+12]"\ -"fxch st(1)"\ -"faddp st(3),st"\ -"fxch st(1)"\ -"fadd DWORD PTR [edi+28]"\ -"fxch st(2)"\ -"fadd DWORD PTR [edi+44]"\ -"fxch st(1)"\ -"fstp DWORD PTR [ebx]"\ -"fxch st(1)"\ -"fstp DWORD PTR [ebx+4]"\ -"fstp DWORD PTR [ebx+8]"\ -parm[esi] [ebx] [edi]; - -#else -void TranslatePoint(int *source, int *dest, int *matrix) -{ - __asm - { - mov esi,source - mov ebx,dest - mov edi,matrix - fld DWORD PTR [esi] - fmul DWORD PTR [edi] - fld DWORD PTR [esi+4] - fmul DWORD PTR [edi+4] - fld DWORD PTR [esi+8] - fmul DWORD PTR [edi+8] - fxch st(1) - faddp st(2),st - fld DWORD PTR [esi] - fmul DWORD PTR [edi+16] - fxch st(1) - faddp st(2),st - fld DWORD PTR [esi+4] - fmul DWORD PTR [edi+20] - fld DWORD PTR [esi+8] - fmul DWORD PTR [edi+24] - fxch st(1) - faddp st(2),st - fld DWORD PTR [esi] - fmul DWORD PTR [edi+32] - fxch st(1) - faddp st(2),st - fld DWORD PTR [esi+4] - fmul DWORD PTR [edi+36] - fld DWORD PTR [esi+8] - fmul DWORD PTR [edi+40] - fxch st(1) - faddp st(2),st - fxch st(3) - fadd DWORD PTR [edi+12] - fxch st(1) - faddp st(3),st - fxch st(1) - fadd DWORD PTR [edi+28] - fxch st(2) - fadd DWORD PTR [edi+44] - fxch st(1) - fstp DWORD PTR [ebx] - fxch st(1) - fstp DWORD PTR [ebx+4] - fstp DWORD PTR [ebx+8] - } -} - -#endif - -void TranslatePointIntoViewspace(VECTORCH *pointPtr) -{ - - Source[0] = pointPtr->vx; - Source[1] = pointPtr->vy; - Source[2] = pointPtr->vz; - - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); - - f2i(pointPtr->vx,Dest[0]); - f2i(pointPtr->vy,Dest[1]); - f2i(pointPtr->vz,Dest[2]); -} -void SquishPoints(SHAPEINSTR *shapeinstrptr) -{ - int **shapeitemarrayptr = shapeinstrptr->sh_instr_data; - VECTORCH *shapePts = (VECTORCH*)*shapeitemarrayptr; - { - int i; - int scale = Global_ODB_Ptr->ObFlags2; - - for (i=0; inumpoints; i++) - { - VECTORCH point = shapePts[i]; - - RotateVector(&point,&Global_ODB_Ptr->ObMat); - - point.vx = MUL_FIXED(point.vx,ONE_FIXED*3/2 - scale/2); - point.vx += Global_ODB_Ptr->ObWorld.vx; - - point.vz = MUL_FIXED(point.vz,ONE_FIXED*3/2 - scale/2); - point.vz += Global_ODB_Ptr->ObWorld.vz; - - point.vy += Global_ODB_Ptr->ObWorld.vy; - point.vy = HierarchicalObjectsLowestYValue + MUL_FIXED(point.vy-HierarchicalObjectsLowestYValue, scale); - - Source[0] = point.vx; - Source[1] = point.vy; - Source[2] = point.vz; - - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); - - f2i(RotatedPts[i].vx,Dest[0]); - f2i(RotatedPts[i].vy,Dest[1]); - f2i(RotatedPts[i].vz,Dest[2]); - } - } -} - -void MorphPoints(SHAPEINSTR *shapeinstrptr) -{ - VECTORCH *srcPtr; - { - SHAPEHEADER *shape1Ptr; - VECTORCH *shape1PointsPtr; - VECTORCH *shape2PointsPtr; - - /* Set up the morph data */ - GetMorphDisplay(&MorphDisplay, Global_ODB_Ptr); - - shape1Ptr = MorphDisplay.md_sptr1; - - if(MorphDisplay.md_lerp == 0x0000) - { - - srcPtr = (VECTORCH *)*shape1Ptr->points; - } - else if(MorphDisplay.md_lerp == 0xffff) - { - SHAPEHEADER *shape2Ptr; - shape2Ptr = MorphDisplay.md_sptr2; - - srcPtr = (VECTORCH *)*shape2Ptr->points; - Global_ShapePoints = *(shape2Ptr->points); - - } - else - { - SHAPEHEADER *shape2Ptr; - shape2Ptr = MorphDisplay.md_sptr2; - - shape1PointsPtr = (VECTORCH *)(*shape1Ptr->points); - shape2PointsPtr = (VECTORCH *)(*shape2Ptr->points); - - { - int numberOfPoints = shape1Ptr->numpoints; - VECTORCH *morphedPointsPtr = (VECTORCH *) MorphedPts; - - while(numberOfPoints--) - { - VECTORCH vertex1 = *shape1PointsPtr; - VECTORCH vertex2 = *shape2PointsPtr; - - if( (vertex1.vx == vertex2.vx && vertex1.vy == vertex2.vy && vertex1.vz == vertex2.vz) ) - { - *morphedPointsPtr = vertex1; - } - else - { - /* KJL 15:27:20 05/22/97 - I've changed this to speed things up, If a vertex - component has a magnitude greater than 32768 things will go wrong. */ - morphedPointsPtr->vx = vertex1.vx + (((vertex2.vx-vertex1.vx)*MorphDisplay.md_lerp)>>16); - morphedPointsPtr->vy = vertex1.vy + (((vertex2.vy-vertex1.vy)*MorphDisplay.md_lerp)>>16); - morphedPointsPtr->vz = vertex1.vz + (((vertex2.vz-vertex1.vz)*MorphDisplay.md_lerp)>>16); - } - - shape1PointsPtr++; - shape2PointsPtr++; - morphedPointsPtr++; - } - } - - Global_ShapePoints = (int*)MorphedPts; - srcPtr = (VECTORCH *)MorphedPts; - } - } - { - VECTORCH *destPtr = RotatedPts; - int i; - for(i = shapeinstrptr->sh_numitems; i!=0; i--) - { - Source[0] = srcPtr->vx+Global_ODB_Ptr->ObWorld.vx; - Source[1] = srcPtr->vy+Global_ODB_Ptr->ObWorld.vy; - Source[2] = srcPtr->vz+Global_ODB_Ptr->ObWorld.vz; - - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); - - f2i(destPtr->vx,Dest[0]); - f2i(destPtr->vy,Dest[1]); - f2i(destPtr->vz,Dest[2]); - srcPtr++; - destPtr++; - } - } - -} - -void TranslateShapeVertices(SHAPEINSTR *shapeinstrptr) -{ - VECTORCH *destPtr = RotatedPts; - int **shapeitemarrayptr; - VECTORCH *srcPtr; - int i; -// MNormalise(<oVMat); - shapeitemarrayptr = shapeinstrptr->sh_instr_data; - srcPtr = (VECTORCH*)*shapeitemarrayptr; - if (Global_ODB_Ptr->ObFlags & ObFlag_ArbRot) - { - for(i = shapeinstrptr->sh_numitems; i!=0; i--) - { - destPtr->vx = (srcPtr->vx+Global_ODB_Ptr->ObView.vx); - destPtr->vy = ((srcPtr->vy+Global_ODB_Ptr->ObView.vy)*4)/3; - destPtr->vz = (srcPtr->vz+Global_ODB_Ptr->ObView.vz); - - srcPtr++; - destPtr++; - - } - } - else - { - ObjectViewMatrix[0+0*4] = (float)(Global_ODB_Ptr->ObMat.mat11)/65536.0f; - ObjectViewMatrix[1+0*4] = (float)(Global_ODB_Ptr->ObMat.mat21)/65536.0f; - ObjectViewMatrix[2+0*4] = (float)(Global_ODB_Ptr->ObMat.mat31)/65536.0f; - - ObjectViewMatrix[0+1*4] = (float)(Global_ODB_Ptr->ObMat.mat12)/(65536.0f); - ObjectViewMatrix[1+1*4] = (float)(Global_ODB_Ptr->ObMat.mat22)/(65536.0f); - ObjectViewMatrix[2+1*4] = (float)(Global_ODB_Ptr->ObMat.mat32)/(65536.0f); - - ObjectViewMatrix[0+2*4] = (float)(Global_ODB_Ptr->ObMat.mat13)/65536.0f; - ObjectViewMatrix[1+2*4] = (float)(Global_ODB_Ptr->ObMat.mat23)/65536.0f; - ObjectViewMatrix[2+2*4] = (float)(Global_ODB_Ptr->ObMat.mat33)/65536.0f; - - ObjectViewMatrix[3+0*4] = Global_ODB_Ptr->ObWorld.vx; - ObjectViewMatrix[3+1*4] = Global_ODB_Ptr->ObWorld.vy; - ObjectViewMatrix[3+2*4] = Global_ODB_Ptr->ObWorld.vz; - for(i = shapeinstrptr->sh_numitems; i!=0; i--) - { - Source[0] = srcPtr->vx; - Source[1] = srcPtr->vy; - Source[2] = srcPtr->vz; - - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ObjectViewMatrix); - TranslatePoint((int*)&Dest,(int*)&Source,(int*)&ViewMatrix); - - f2i(destPtr->vx,Source[0]); - f2i(destPtr->vy,Source[1]); - f2i(destPtr->vz,Source[2]); - srcPtr++; - destPtr++; - } - } -} - -void RenderDecal(DECAL *decalPtr) -{ - /* translate decal into view space */ - { - VECTORCH translatedPosition = decalPtr->Vertices[0]; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[0].X = translatedPosition.vx; - VerticesBuffer[0].Y = translatedPosition.vy; - VerticesBuffer[0].Z = translatedPosition.vz; - } - { - VECTORCH translatedPosition = decalPtr->Vertices[1]; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[1].X = translatedPosition.vx; - VerticesBuffer[1].Y = translatedPosition.vy; - VerticesBuffer[1].Z = translatedPosition.vz; - } - { - VECTORCH translatedPosition = decalPtr->Vertices[2]; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[2].X = translatedPosition.vx; - VerticesBuffer[2].Y = translatedPosition.vy; - VerticesBuffer[2].Z = translatedPosition.vz; - } - { - VECTORCH translatedPosition = decalPtr->Vertices[3]; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[3].X = translatedPosition.vx; - VerticesBuffer[3].Y = translatedPosition.vy; - VerticesBuffer[3].Z = translatedPosition.vz; - } - { - int outcode = DecalWithinFrustrum(decalPtr); - - if (outcode) - { - switch(decalPtr->DecalID) - { - default: - case DECAL_SCORCHED: - { - DecalPolygon_Construct(decalPtr); - - if (outcode!=2) - { - TexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_Decal_Output(decalPtr,RenderPolygon.Vertices); - - } - else D3D_Decal_Output(decalPtr,VerticesBuffer); - break; - } - } - } - } - #if MIRRORING_ON - if (MirroringActive) RenderMirroredDecal(decalPtr); - #endif -} -void RenderParticle(PARTICLE *particlePtr) -{ -// PARTICLE_DESC *particleDescPtr = &ParticleDescription[particlePtr->ParticleID]; - int particleSize = particlePtr->Size; - - { - VECTORCH translatedPosition = particlePtr->Position; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[0].X = translatedPosition.vx; - VerticesBuffer[3].X = translatedPosition.vx; - VerticesBuffer[0].Y = translatedPosition.vy; - VerticesBuffer[3].Y = translatedPosition.vy; - VerticesBuffer[0].Z = translatedPosition.vz; - VerticesBuffer[3].Z = translatedPosition.vz; - } - - if ((particlePtr->ParticleID == PARTICLE_EXPLOSIONFIRE) - ||(particlePtr->ParticleID == PARTICLE_RICOCHET_SPARK) - ||(particlePtr->ParticleID == PARTICLE_SPARK) - ||(particlePtr->ParticleID == PARTICLE_ORANGE_SPARK) - ||(particlePtr->ParticleID == PARTICLE_ORANGE_PLASMA) - ||(particlePtr->ParticleID == PARTICLE_ALIEN_BLOOD) - ||(particlePtr->ParticleID == PARTICLE_PREDATOR_BLOOD) - ||(particlePtr->ParticleID == PARTICLE_HUMAN_BLOOD) - ||(particlePtr->ParticleID == PARTICLE_WATERFALLSPRAY) - ||(particlePtr->ParticleID == PARTICLE_LASERBEAM) - ||(particlePtr->ParticleID == PARTICLE_PLASMABEAM) - ||(particlePtr->ParticleID == PARTICLE_TRACER) - ||(particlePtr->ParticleID == PARTICLE_PREDPISTOL_FLECHETTE) - ||(particlePtr->ParticleID == PARTICLE_PREDPISTOL_FLECHETTE_NONDAMAGING) - ) - { - VECTORCH translatedPosition = particlePtr->Offset; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[1].X = translatedPosition.vx; - VerticesBuffer[2].X = translatedPosition.vx; - VerticesBuffer[1].Y = translatedPosition.vy; - VerticesBuffer[2].Y = translatedPosition.vy; - VerticesBuffer[1].Z = translatedPosition.vz; - VerticesBuffer[2].Z = translatedPosition.vz; - - { - int deltaX = VerticesBuffer[1].X - VerticesBuffer[0].X; - int deltaY = VerticesBuffer[1].Y - VerticesBuffer[0].Y; - int splitY = 0; - - if (deltaX>=0) - { - if (deltaY>=0) - { - if (deltaX>deltaY) - { - splitY = 1; - } - } - else if (deltaX>-deltaY) - { - splitY = 1; - } - } - else - { - if (deltaY>=0) - { - if (-deltaX>deltaY) - { - splitY = 1; - } - } - else if (-deltaX>-deltaY) - { - splitY = 1; - } - } - if (splitY) - { - if (deltaX>0) - { - /* 1 & 2 are more +ve in X */ - VerticesBuffer[0].X -= particleSize; - VerticesBuffer[0].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[1].X += particleSize; - VerticesBuffer[1].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[2].X += particleSize; - VerticesBuffer[2].Y += MUL_FIXED(particleSize,87381); - VerticesBuffer[3].X -= particleSize; - VerticesBuffer[3].Y += MUL_FIXED(particleSize,87381); - } - else - { - /* 1 & 2 are more -ve in X */ - VerticesBuffer[0].X += particleSize; - VerticesBuffer[0].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[1].X -= particleSize; - VerticesBuffer[1].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[2].X -= particleSize; - VerticesBuffer[2].Y += MUL_FIXED(particleSize,87381); - VerticesBuffer[3].X += particleSize; - VerticesBuffer[3].Y += MUL_FIXED(particleSize,87381); - } - - } - else - { - if (deltaY>0) - { - /* 1 & 2 are more +ve in Y */ - VerticesBuffer[0].X -= particleSize; - VerticesBuffer[0].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[1].X -= particleSize; - VerticesBuffer[1].Y += MUL_FIXED(particleSize,87381); - VerticesBuffer[2].X += particleSize; - VerticesBuffer[2].Y += MUL_FIXED(particleSize,87381); - VerticesBuffer[3].X += particleSize; - VerticesBuffer[3].Y -= MUL_FIXED(particleSize,87381); - } - else - { - /* 1 & 2 are more -ve in Y */ - VerticesBuffer[0].X -= particleSize; - VerticesBuffer[0].Y += MUL_FIXED(particleSize,87381); - VerticesBuffer[1].X -= particleSize; - VerticesBuffer[1].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[2].X += particleSize; - VerticesBuffer[2].Y -= MUL_FIXED(particleSize,87381); - VerticesBuffer[3].X += particleSize; - VerticesBuffer[3].Y += MUL_FIXED(particleSize,87381); - } - - } - } - } - else - { - VECTOR2D offset[4]; - VerticesBuffer[1].X = VerticesBuffer[0].X; - VerticesBuffer[2].X = VerticesBuffer[0].X; - VerticesBuffer[1].Y = VerticesBuffer[0].Y; - VerticesBuffer[2].Y = VerticesBuffer[0].Y; - VerticesBuffer[1].Z = VerticesBuffer[0].Z; - VerticesBuffer[2].Z = VerticesBuffer[0].Z; - - offset[0].vx = -particleSize; - offset[0].vy = -particleSize; - - offset[1].vx = +particleSize; - offset[1].vy = -particleSize; - - offset[2].vx = +particleSize; - offset[2].vy = +particleSize; - - offset[3].vx = -particleSize; - offset[3].vy = +particleSize; - - if ((particlePtr->ParticleID == PARTICLE_MUZZLEFLASH) ) - { - extern void RotateVertex(VECTOR2D *vertexPtr, int theta); - int theta = FastRandom()&4095; - RotateVertex(&offset[0],theta); - RotateVertex(&offset[1],theta); - RotateVertex(&offset[2],theta); - RotateVertex(&offset[3],theta); - } - else if ((particlePtr->ParticleID == PARTICLE_SMOKECLOUD) - ||(particlePtr->ParticleID == PARTICLE_GUNMUZZLE_SMOKE) - ||(particlePtr->ParticleID == PARTICLE_PARGEN_FLAME) - ||(particlePtr->ParticleID == PARTICLE_FLAME)) - { - extern void RotateVertex(VECTOR2D *vertexPtr, int theta); - int theta = (particlePtr->Offset.vx+MUL_FIXED(CloakingPhase,particlePtr->Offset.vy))&4095; - RotateVertex(&offset[0],theta); - RotateVertex(&offset[1],theta); - RotateVertex(&offset[2],theta); - RotateVertex(&offset[3],theta); - } - VerticesBuffer[0].X += offset[0].vx; - VerticesBuffer[0].Y += MUL_FIXED(offset[0].vy,87381); - - VerticesBuffer[1].X += offset[1].vx; - VerticesBuffer[1].Y += MUL_FIXED(offset[1].vy,87381); - - VerticesBuffer[2].X += offset[2].vx; - VerticesBuffer[2].Y += MUL_FIXED(offset[2].vy,87381); - - VerticesBuffer[3].X += offset[3].vx; - VerticesBuffer[3].Y += MUL_FIXED(offset[3].vy,87381); - - } - - { - int outcode = QuadWithinFrustrum(); - - if (outcode) - { - ParticlePolygon_Construct(particlePtr); - - if (outcode!=2) - { - TexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_Particle_Output(particlePtr,RenderPolygon.Vertices); - - } - else D3D_Particle_Output(particlePtr,VerticesBuffer); - } - } -} - -extern void RenderFlechetteParticle(PARTICLE *particlePtr) -{ - VECTORCH vertices[5]; - MATRIXCH mat; - - MakeMatrixFromDirection(&particlePtr->Velocity,&mat); - - mat.mat11 >>= 12; - mat.mat12 >>= 12; - mat.mat13 >>= 12; - mat.mat21 >>= 12; - mat.mat22 >>= 12; - mat.mat23 >>= 12; - mat.mat31 >>= 9; - mat.mat32 >>= 9; - mat.mat33 >>= 9; - - - vertices[0].vx = particlePtr->Position.vx-mat.mat31+mat.mat11; - vertices[0].vy = particlePtr->Position.vy-mat.mat32+mat.mat12; - vertices[0].vz = particlePtr->Position.vz-mat.mat33+mat.mat13; - - vertices[1].vx = particlePtr->Position.vx-mat.mat31-mat.mat11; - vertices[1].vy = particlePtr->Position.vy-mat.mat32-mat.mat12; - vertices[1].vz = particlePtr->Position.vz-mat.mat33-mat.mat13; - - vertices[2] = particlePtr->Position; - - vertices[3].vx = particlePtr->Position.vx-mat.mat31+mat.mat21; - vertices[3].vy = particlePtr->Position.vy-mat.mat32+mat.mat22; - vertices[3].vz = particlePtr->Position.vz-mat.mat33+mat.mat23; - - vertices[4].vx = particlePtr->Position.vx-mat.mat31-mat.mat21; - vertices[4].vy = particlePtr->Position.vy-mat.mat32-mat.mat22; - vertices[4].vz = particlePtr->Position.vz-mat.mat33-mat.mat23; - - TranslatePointIntoViewspace(&vertices[0]); - TranslatePointIntoViewspace(&vertices[1]); - TranslatePointIntoViewspace(&vertices[2]); - TranslatePointIntoViewspace(&vertices[3]); - TranslatePointIntoViewspace(&vertices[4]); - - { - int i; - for (i=0; i<3; i++) - { - VerticesBuffer[i].X = vertices[i].vx; - VerticesBuffer[i].Y = vertices[i].vy; - VerticesBuffer[i].Z = vertices[i].vz; - - VerticesBuffer[i].A = (particlePtr->Colour>>24)&255; - VerticesBuffer[i].R = (particlePtr->Colour>>16)&255; - VerticesBuffer[i].G = (particlePtr->Colour>>8)&255; - VerticesBuffer[i].B = (particlePtr->Colour)&255; - } - RenderPolygon.NumberOfVertices=3; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - { - int outcode = TriangleWithinFrustrum(); - POLYHEADER fakeHeader; - fakeHeader.PolyFlags = iflag_transparent; - - do - { - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - while(0); - } - { - int i; - for (i=0; i<3; i++) - { - VerticesBuffer[i].X = vertices[i+2].vx; - VerticesBuffer[i].Y = vertices[i+2].vy; - VerticesBuffer[i].Z = vertices[i+2].vz; - - VerticesBuffer[i].A = (particlePtr->Colour>>24)&255; - VerticesBuffer[i].R = (particlePtr->Colour>>16)&255; - VerticesBuffer[i].G = (particlePtr->Colour>>8)&255; - VerticesBuffer[i].B = (particlePtr->Colour)&255; - } - RenderPolygon.NumberOfVertices=3; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - { - int outcode = TriangleWithinFrustrum(); - POLYHEADER fakeHeader; - fakeHeader.PolyFlags = iflag_transparent; - - do - { - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - while(0); - } - -} - -static void ParticlePolygon_Construct(PARTICLE *particlePtr) -{ - PARTICLE_DESC *particleDescPtr = &ParticleDescription[particlePtr->ParticleID]; - RenderPolygon.NumberOfVertices=4; - - VerticesBuffer[0].U = particleDescPtr->StartU; - VerticesBuffer[0].V = particleDescPtr->StartV; - - VerticesBuffer[1].U = particleDescPtr->EndU; - VerticesBuffer[1].V = particleDescPtr->StartV; - - VerticesBuffer[2].U = particleDescPtr->EndU; - VerticesBuffer[2].V = particleDescPtr->EndV; - - VerticesBuffer[3].U = particleDescPtr->StartU; - VerticesBuffer[3].V = particleDescPtr->EndV; - -} - -void RenderMirroredDecal(DECAL *decalPtr) -{ - /* translate decal into view space */ - { - VECTORCH translatedPosition = decalPtr->Vertices[0]; - translatedPosition.vx = MirroringAxis - translatedPosition.vx; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[0].X = translatedPosition.vx; - VerticesBuffer[0].Y = translatedPosition.vy; - VerticesBuffer[0].Z = translatedPosition.vz; - } - { - VECTORCH translatedPosition = decalPtr->Vertices[1]; - translatedPosition.vx = MirroringAxis - translatedPosition.vx; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[1].X = translatedPosition.vx; - VerticesBuffer[1].Y = translatedPosition.vy; - VerticesBuffer[1].Z = translatedPosition.vz; - } - { - VECTORCH translatedPosition = decalPtr->Vertices[2]; - translatedPosition.vx = MirroringAxis - translatedPosition.vx; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[2].X = translatedPosition.vx; - VerticesBuffer[2].Y = translatedPosition.vy; - VerticesBuffer[2].Z = translatedPosition.vz; - } - { - VECTORCH translatedPosition = decalPtr->Vertices[3]; - translatedPosition.vx = MirroringAxis - translatedPosition.vx; - TranslatePointIntoViewspace(&translatedPosition); - VerticesBuffer[3].X = translatedPosition.vx; - VerticesBuffer[3].Y = translatedPosition.vy; - VerticesBuffer[3].Z = translatedPosition.vz; - } - { - int outcode = DecalWithinFrustrum(decalPtr); - - if (outcode) - { - switch(decalPtr->DecalID) - { - default: - case DECAL_SCORCHED: - { - DecalPolygon_Construct(decalPtr); - - if (outcode!=2) - { - TexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_Decal_Output(decalPtr,RenderPolygon.Vertices); - - } - else D3D_Decal_Output(decalPtr,VerticesBuffer); - break; - } - } - } - } -} - - -static void DecalPolygon_Construct(DECAL *decalPtr) -{ - DECAL_DESC *decalDescPtr = &DecalDescription[decalPtr->DecalID]; - RenderPolygon.NumberOfVertices=4; - - VerticesBuffer[0].U = decalDescPtr->StartU+decalPtr->UOffset; - VerticesBuffer[0].V = decalDescPtr->StartV; - - VerticesBuffer[1].U = decalDescPtr->EndU+decalPtr->UOffset; - VerticesBuffer[1].V = decalDescPtr->StartV; - - VerticesBuffer[2].U = decalDescPtr->EndU+decalPtr->UOffset; - VerticesBuffer[2].V = decalDescPtr->EndV; - - VerticesBuffer[3].U = decalDescPtr->StartU+decalPtr->UOffset; - VerticesBuffer[3].V = decalDescPtr->EndV; - -} - -#if 0 - int polys[][4] = - { - {1,3,5,7}, - {1,3,9,11}, - {2,3,5,4}, - {2,3,9,8}, - - {0,2,4,6}, - {0,2,8,10}, - {0,1,7,6}, - {0,1,11,10}, - - {12,13,15,14}, - {4,5,7,6}, - - {8,9,5,4}, - {6,7,11,10}, - {8,4,6,10}, - {5,9,11,7}, - -// {8,2,4,4}, -// {9,3,5,5}, -// {10,0,6,6}, -// {7,1,11,11} - }; - int alphaValue[]={64,64,64,64, 16,16,16,16, 0,0,0,0, 128,128,128,128}; - -//void RenderShaftOfLight(SHAFTOFLIGHT *shaftPtr) -void RenderShaftOfLight(MODULE *modulePtr) -{ - /* translate shaft into view space */ - -// suitable for invasion2 - VECTORCH shaftVertices[]= - { - {-5500,9000,9822}, - {-4500,9000,9822}, - {-5500,10000,9822}, - {-4500,10000,9822}, - - {-6000,15900,13000}, - {-4000,15900,13000}, - {-6000,15900,15500}, - {-4000,15900,15500}, - - {-6500,15900,12500}, - {-3500,15900,12500}, - {-6500,15900,16000}, - {-3500,15900,16000}, - }; - /* - VECTORCH shaftVertices[]= - { - {0, 0, 0}, - {0, 0, 1139}, - {-1338, 7113, 0}, - {-1338, 7113, 1139}, - - - {,1948,} - - {26002+ -1700, 7781 , -25328+ -800}, - {26002+ -900, 7781 , -25328+ +800}, - {26002+ 1700, 7781 , -25328+ -800}, - {26002+ 1700, 7781 , -25328+ +800}, - - {26002+ -1100, 7781 , -25328+ -1000}, - {26002+ -1100, 7781 , -25328+ +1000}, - {26002+ 2000, 7781 , -25328+ -1000}, - {26002+ 2000, 7781 , -25328+ +1000}, - - }; - */ - VECTORCH translatedPts[12]; - - POLYHEADER fakeHeader; - DECAL fakeDecal; - int polyNumber; - - fakeDecal.ModuleIndex=148; -// fakeDecal.ModuleIndex=17; - fakeHeader.PolyFlags = iflag_transparent; - - { - int i = 11; - do - { - translatedPts[i] = shaftVertices[i]; -// translatedPts[i].vx+=10712; -// translatedPts[i].vy+=-6480; -// translatedPts[i].vz+=-25898; - TranslatePointIntoViewspace(&translatedPts[i]); - } - while(i--); - } - - for(polyNumber=0; polyNumber<10; polyNumber++) - { - { - int i; - for (i=0; i<4; i++) - { - int v = polys[polyNumber][i]; - VerticesBuffer[i].A = alphaValue[v]; - if (v>11) - { - VerticesBuffer[i].X = translatedPts[v-12].vx; - VerticesBuffer[i].Y = translatedPts[v-12].vy; - VerticesBuffer[i].Z = translatedPts[v-12].vz; - } - else - { - VerticesBuffer[i].X = translatedPts[v].vx; - VerticesBuffer[i].Y = translatedPts[v].vy; - VerticesBuffer[i].Z = translatedPts[v].vz; - } - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 192; - } - RenderPolygon.NumberOfVertices=4; - } - { - int outcode = DecalWithinFrustrum(&fakeDecal); - - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - } -} -#else - int polys[][4] = - { - {0,1,3,2}, - {2,3,5,4}, - {4,5,7,6}, - - {1,3,5,7}, - {0,2,4,6}, - {6,8,10,0}, - {7,9,11,1}, - - {0,1,11,10}, - {6,7,9,8}, - - - }; - int alphaValue[]={32,32,32,32, 28,28,28,28, 4,4,4,4, 128,128,128,128}; -// int alphaValue[]={16,16,16,16, 14,14,14,14, 2,2,2,2, 128,128,128,128}; - VECTORCH shaftVertices[]= - { - {0, 0, 0}, - {0, 0, 1956}, - {-1492, 7969, 0}, - {-1492, 7969, 1956}, - -// {0, 0, 0}, -// {0, 0, 1139}, -// {-1338, 7113, 0}, -// {-1338, 7113, 1139}, - - {0, 8840, 0}, - {0, 8840, 0}, - {3138, 8850, 0}, - {3138, 8850, 0}, - - {0, 14500, 0}, - {0, 14500, 0}, - {0, 14500, 0}, - {0, 14500, 0}, - - - }; - -void RenderShaftOfLight(MODULE *modulePtr) -{ - /* translate shaft into view space */ - #define NUM_OF_SHAFT_VERTICES 12 - VECTORCH translatedPts[NUM_OF_SHAFT_VERTICES]; - - POLYHEADER fakeHeader; - DECAL fakeDecal; - int polyNumber; - VECTORCH lightDirection1 = {29309,29309,-2000}; - VECTORCH lightDirection2 = {29309,29309,2000}; - -// return; - { - int offset = GetSin((CloakingPhase/16)&4095); - if (offset<0) offset=-offset; - offset = MUL_FIXED(offset,offset); - offset = MUL_FIXED(offset,offset); - offset=MUL_FIXED(offset,4000); - lightDirection1.vz += offset; - lightDirection2.vz += offset; - } - Normalise(&lightDirection1); - Normalise(&lightDirection2); -// textprint("light shaft active"); - fakeDecal.ModuleIndex=modulePtr->m_index; - fakeHeader.PolyFlags = iflag_transparent; - - - FindIntersectionWithYPlane(&shaftVertices[2],&lightDirection1,&shaftVertices[4]); - FindIntersectionWithYPlane(&shaftVertices[3],&lightDirection2,&shaftVertices[5]); - FindZFromXYIntersection(&shaftVertices[2],&lightDirection1,&shaftVertices[6]); - FindZFromXYIntersection(&shaftVertices[3],&lightDirection2,&shaftVertices[7]); - FindIntersectionWithYPlane(&shaftVertices[0],&lightDirection1,&shaftVertices[10]); - FindIntersectionWithYPlane(&shaftVertices[1],&lightDirection2,&shaftVertices[11]); - FindIntersectionWithYPlane(&shaftVertices[6],&lightDirection1,&shaftVertices[8]); - FindIntersectionWithYPlane(&shaftVertices[7],&lightDirection2,&shaftVertices[9]); - - { - - int i = NUM_OF_SHAFT_VERTICES-1; - do - { - translatedPts[i] = shaftVertices[i]; - translatedPts[i].vx+=11762; - translatedPts[i].vy+=-6919; - translatedPts[i].vz+=-26312; -// translatedPts[i].vx+=10712; -// translatedPts[i].vy+=-6480; -// translatedPts[i].vz+=-25898; - TranslatePointIntoViewspace(&translatedPts[i]); - } - while(i--); - } - - - for(polyNumber=0; polyNumber<9; polyNumber++) - { - { - int i; - for (i=0; i<4; i++) - { - int v = polys[polyNumber][i]; - VerticesBuffer[i].A = alphaValue[v]; - VerticesBuffer[i].X = translatedPts[v].vx; - VerticesBuffer[i].Y = translatedPts[v].vy; - VerticesBuffer[i].Z = translatedPts[v].vz; - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 192; - } - RenderPolygon.NumberOfVertices=4; - } - { - int outcode = DecalWithinFrustrum(&fakeDecal); - - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - } - RenderShaftOfLight2(modulePtr); -} -void RenderShaftOfLight2(MODULE *modulePtr) -{ - /* translate shaft into view space */ - #define NUM_OF_SHAFT_VERTICES 12 - VECTORCH translatedPts[NUM_OF_SHAFT_VERTICES]; - - POLYHEADER fakeHeader; - DECAL fakeDecal; - int polyNumber; - VECTORCH lightDirection1 = {29309+1000,29309,-3000}; - VECTORCH lightDirection2 = {29309+1000,29309,3000}; - VECTORCH lightDirection3 = {29309-1000,29309,-3000}; - VECTORCH lightDirection4 = {29309-1000,29309,3000}; - { - int offset = GetSin((CloakingPhase/16)&4095); - if (offset<0) offset=-offset; - offset = MUL_FIXED(offset,offset); - offset = MUL_FIXED(offset,offset); - offset=MUL_FIXED(offset,4000); - lightDirection1.vz += offset; - lightDirection2.vz += offset; - lightDirection3.vz += offset; - lightDirection4.vz += offset; - } - Normalise(&lightDirection1); - Normalise(&lightDirection2); - Normalise(&lightDirection3); - Normalise(&lightDirection4); - - fakeDecal.ModuleIndex=modulePtr->m_index; - fakeHeader.PolyFlags = iflag_transparent; - - - FindIntersectionWithYPlane(&shaftVertices[2],&lightDirection1,&shaftVertices[4]); - FindIntersectionWithYPlane(&shaftVertices[3],&lightDirection2,&shaftVertices[5]); - FindZFromXYIntersection(&shaftVertices[2],&lightDirection3,&shaftVertices[6]); - FindZFromXYIntersection(&shaftVertices[3],&lightDirection4,&shaftVertices[7]); - FindIntersectionWithYPlane(&shaftVertices[0],&lightDirection1,&shaftVertices[10]); - FindIntersectionWithYPlane(&shaftVertices[1],&lightDirection2,&shaftVertices[11]); - FindIntersectionWithYPlane(&shaftVertices[6],&lightDirection3,&shaftVertices[8]); - FindIntersectionWithYPlane(&shaftVertices[7],&lightDirection4,&shaftVertices[9]); - - - { - - int i = NUM_OF_SHAFT_VERTICES-1; - do - { - translatedPts[i] = shaftVertices[i]; - translatedPts[i].vx+=11762; - translatedPts[i].vy+=-6919; - translatedPts[i].vz+=-26312; -// translatedPts[i].vx+=10712; -// translatedPts[i].vy+=-6480; -// translatedPts[i].vz+=-25898; - TranslatePointIntoViewspace(&translatedPts[i]); - } - while(i--); - } - - - for(polyNumber=0; polyNumber<9; polyNumber++) - { - { - int i; - for (i=0; i<4; i++) - { - int v = polys[polyNumber][i]; - VerticesBuffer[i].A = alphaValue[v]/2; - VerticesBuffer[i].X = translatedPts[v].vx; - VerticesBuffer[i].Y = translatedPts[v].vy; - VerticesBuffer[i].Z = translatedPts[v].vz; - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 192; - } - RenderPolygon.NumberOfVertices=4; - } - { - int outcode = DecalWithinFrustrum(&fakeDecal); - - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - } -} - -void FindIntersectionWithYPlane(VECTORCH *startPtr, VECTORCH *directionPtr, VECTORCH *intersectionPtr) -{ - int lambda = DIV_FIXED(intersectionPtr->vy - startPtr->vy,directionPtr->vy); - - intersectionPtr->vx = startPtr->vx + MUL_FIXED(directionPtr->vx,lambda); - intersectionPtr->vz = startPtr->vz + MUL_FIXED(directionPtr->vz,lambda); -// textprint("%d %d %d\n",intersectionPtr->vx,intersectionPtr->vy,intersectionPtr->vz); -} -void FindZFromXYIntersection(VECTORCH *startPtr, VECTORCH *directionPtr, VECTORCH *intersectionPtr) -{ - float a = intersectionPtr->vx - startPtr->vx; - - a/=directionPtr->vx; - - intersectionPtr->vz = startPtr->vz + (directionPtr->vz*a); -// textprint("%d %d %d\n",intersectionPtr->vx,intersectionPtr->vy,intersectionPtr->vz); -} - -#endif - - - - - - - - - - - - -void ClearTranslucentPolyList(void) -{ - CurrentNumberOfTranslucentPolygons=0; -} - -void AddToTranslucentPolyList(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) -{ - /* copy the data to the list for processing later */ - int i = RenderPolygon.NumberOfVertices; - int maxZ = 0; - RENDERVERTEX *vertexPtr = TranslucentPolygons[CurrentNumberOfTranslucentPolygons].Vertices; - - TranslucentPolygons[CurrentNumberOfTranslucentPolygons].NumberOfVertices = i; - - do - { - if (maxZZ) - maxZ = renderVerticesPtr->Z; - *vertexPtr++ = *renderVerticesPtr++; - } - while(--i); - TranslucentPolygons[CurrentNumberOfTranslucentPolygons].MaxZ = maxZ; - TranslucentPolygonHeaders[CurrentNumberOfTranslucentPolygons] = *inputPolyPtr; - - /* increment counter */ - CurrentNumberOfTranslucentPolygons++; - LOCALASSERT(CurrentNumberOfTranslucentPolygonsTranslucentPolygons[maxFound].MaxZ) - { - maxFound = k; - } - } - - RenderAllParticlesFurtherAwayThan(TranslucentPolygons[maxFound].MaxZ); - - RenderPolygon.NumberOfVertices = TranslucentPolygons[maxFound].NumberOfVertices; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - D3D_ZBufferedGouraudTexturedPolygon_Output(&TranslucentPolygonHeaders[maxFound],TranslucentPolygons[maxFound].Vertices); - TranslucentPolygons[maxFound].MaxZ=0; - } - - RenderAllParticlesFurtherAwayThan(-0x7fffffff); - -} - - - - -#if 0 -int CuboidPolyVertexList[][4] = -{ - {0,1,2,3}, //+ve x - {0,3,7,4}, //+ve y - {6,7,3,2}, //+ve z - - {6,7,4,5}, //-ve x - {6,5,1,2}, //-ve y - {0,1,5,4}, //-ve z -}; -EULER CubeOrient = {0,0,0}; -void CubeOMatic(void) -{ - #define CUBESCALE 128 - VECTORCH vertices[8]= - { - {+CUBESCALE,+CUBESCALE,-CUBESCALE}, - {+CUBESCALE,-CUBESCALE,-CUBESCALE}, - {+CUBESCALE,-CUBESCALE,+CUBESCALE}, - {+CUBESCALE,+CUBESCALE,+CUBESCALE}, - {-CUBESCALE,+CUBESCALE,-CUBESCALE}, - {-CUBESCALE,-CUBESCALE,-CUBESCALE}, - {-CUBESCALE,-CUBESCALE,+CUBESCALE}, - {-CUBESCALE,+CUBESCALE,+CUBESCALE}, - }; - VECTORCH translatedPts[8]; - - POLYHEADER fakeHeader; - int polyNumber; - MATRIXCH matrix; - CreateEulerMatrix(&CubeOrient,&matrix); - TransposeMatrixCH(&matrix); - - CubeOrient.EulerX += MUL_FIXED(NormalFrameTime,128*4); - CubeOrient.EulerX &=4095; - CubeOrient.EulerY += MUL_FIXED(NormalFrameTime,256*4); - CubeOrient.EulerY &=4095; - CubeOrient.EulerZ += MUL_FIXED(NormalFrameTime,128*4); - CubeOrient.EulerZ &=4095; - - fakeHeader.PolyFlags = iflag_transparent; - - { - - int i = 7; - do - { - translatedPts[i] = vertices[i]; - RotateVector(&translatedPts[i],&matrix); - translatedPts[i].vy = MUL_FIXED(translatedPts[i].vy,87381); - } - while(i--); - } - - - for(polyNumber=0; polyNumber<6; polyNumber++) - { - { - int i; - for (i=0; i<4; i++) - { - int v = CuboidPolyVertexList[polyNumber][i]; - VerticesBuffer[i].A = 128; - VerticesBuffer[i].X = translatedPts[v].vx-400; - VerticesBuffer[i].Y = translatedPts[v].vy+300; - VerticesBuffer[i].Z = translatedPts[v].vz+900; - VerticesBuffer[i].Y = MUL_FIXED(VerticesBuffer[i].Y,87381); - - { - int brightness = -(translatedPts[v].vz*2); - - if (brightness<0) brightness=0; - if (brightness>255) brightness=255; - VerticesBuffer[i].R = brightness; - } - VerticesBuffer[i].G = 0; - VerticesBuffer[i].B = 0; - } - RenderPolygon.NumberOfVertices=4; - } - { - int outcode = QuadWithinFrustrum(); - - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - } -} -#endif -int CuboidPolyVertexList[][4] = -{ - {0,3,7,4}, //+ve y -#if 0 - {0,1,2,3}, //+ve x - {0,1,5,4}, //-ve z - - {6,7,4,5}, //-ve x - {6,7,3,2}, //+ve z -#else - {6,7,3,2}, //+ve z - {6,7,4,5}, //-ve x - - {0,1,5,4}, //-ve z - {0,1,2,3}, //+ve x -#endif -}; -EULER CubeOrient = {0,0,0}; -int CuboidPolyVertexU[][4] = -{ - {1,1,1,1}, - - {127,127,0,0}, - {128,128,255,255}, - - {127,127,0,0}, - {128,128,255,255}, -}; -int CuboidPolyVertexV[][4] = -{ - {1,1,1,1}, - - {127,0,0,127}, - {127,0,0,127}, - {128,255,255,128}, - {128,255,255,128}, -}; - -#include "chnktexi.h" - -void CubeSky(void) -{ - #define CUBESCALE 1024 - VECTORCH vertices[8]= - { - #if 0 - {+CUBESCALE,-CUBESCALE,-CUBESCALE}, - {+CUBESCALE,CUBESCALE,-CUBESCALE}, - {+CUBESCALE,CUBESCALE,+CUBESCALE}, - {+CUBESCALE,-CUBESCALE,+CUBESCALE}, - {-CUBESCALE,-CUBESCALE,-CUBESCALE}, - {-CUBESCALE,CUBESCALE,-CUBESCALE}, - {-CUBESCALE,CUBESCALE,+CUBESCALE}, - {-CUBESCALE,-CUBESCALE,+CUBESCALE}, - #else - {+CUBESCALE,-CUBESCALE*2,-CUBESCALE}, - {+CUBESCALE,0,-CUBESCALE}, - {+CUBESCALE,0,+CUBESCALE}, - {+CUBESCALE,-CUBESCALE*2,+CUBESCALE}, - {-CUBESCALE,-CUBESCALE*2,-CUBESCALE}, - {-CUBESCALE,0,-CUBESCALE}, - {-CUBESCALE,0,+CUBESCALE}, - {-CUBESCALE,-CUBESCALE*2,+CUBESCALE}, - #endif - }; - VECTORCH translatedPts[8]; - - POLYHEADER fakeHeader; - int polyNumber; - - #if 1 - { - extern int BackdropImage; - fakeHeader.PolyFlags = 0; - fakeHeader.PolyColour =BackdropImage; - } - - { - - int i = 7; - do - { - translatedPts[i] = vertices[i]; - RotateVector(&translatedPts[i],&(Global_VDB_Ptr->VDB_Mat)); - translatedPts[i].vy = MUL_FIXED(translatedPts[i].vy,87381); - } - while(i--); - } - #endif - - for(polyNumber=0; polyNumber<5; polyNumber++) - { - { - int i; - for (i=0; i<4; i++) - { - int v = CuboidPolyVertexList[polyNumber][i]; - VerticesBuffer[i].A = 0; - VerticesBuffer[i].X = translatedPts[v].vx; - VerticesBuffer[i].Y = translatedPts[v].vy; - VerticesBuffer[i].Z = translatedPts[v].vz; - VerticesBuffer[i].U = CuboidPolyVertexU[polyNumber][i]<<16; - VerticesBuffer[i].V = CuboidPolyVertexV[polyNumber][i]<<16; - - - VerticesBuffer[i].R = 127; - VerticesBuffer[i].G = 127; - VerticesBuffer[i].B = 127; - } - RenderPolygon.NumberOfVertices=4; - } - { - int outcode = QuadWithinFrustrum(); - - if (outcode) - { - if (outcode!=2) - { - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_BackdropPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_BackdropPolygon_Output(&fakeHeader,VerticesBuffer); - } - } - } -} - - -void RenderMirrorSurface(void) -{ - VECTORCH translatedPts[4] = - { - {-5596,-932,-1872}, - {-5596,-932,-702}, - {-5596,1212,-702}, - {-5596,1212,-1872}, - - }; - int mirrorUV[]= - { 0,0, 127<<16,0, 127<<16,127<<16, 0,127<<16}; - POLYHEADER fakeHeader; - - - { - extern int CloudyImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = CloudyImageNumber; - } - - { - int i; - for (i=0; i<4; i++) - { - VerticesBuffer[i].A = 128; - - TranslatePointIntoViewspace(&translatedPts[i]); - VerticesBuffer[i].X = translatedPts[i].vx; - VerticesBuffer[i].Y = translatedPts[i].vy; - VerticesBuffer[i].Z = translatedPts[i].vz; - VerticesBuffer[i].U = mirrorUV[i*2]; - VerticesBuffer[i].V = mirrorUV[i*2+1]; - - - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 255; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - - } - RenderPolygon.NumberOfVertices=4; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_COLOUR; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); -} -void RenderMirrorSurface2(void) -{ - VECTORCH translatedPts[4] = - { - {-5596,-592,562}, - {-5596,-592,1344}, - {-5596,140,1344}, - {-5596,140,562}, - - }; - int mirrorUV[]= - { 0,0, 127<<16,0, 127<<16,127<<16, 0,127<<16}; - POLYHEADER fakeHeader; - - - { - extern int CloudyImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = CloudyImageNumber; - } - - { - int i; - for (i=0; i<4; i++) - { - VerticesBuffer[i].A = 128; - - TranslatePointIntoViewspace(&translatedPts[i]); - VerticesBuffer[i].X = translatedPts[i].vx; - VerticesBuffer[i].Y = translatedPts[i].vy; - VerticesBuffer[i].Z = translatedPts[i].vz; - VerticesBuffer[i].U = mirrorUV[i*2]; - VerticesBuffer[i].V = mirrorUV[i*2+1]; - - - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 255; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - - } - RenderPolygon.NumberOfVertices=4; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_COLOUR; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); -} -void RenderSmokeTest(void) -{ - int mirrorUV[]= - { - 64<<16, 0, - 64<<16, 31<<16, - 95<<16, 31<<16, - 95<<16, 0 - }; - POLYHEADER fakeHeader; - int a = GetSin(CloakingPhase&4095); - int image; - - a = MUL_FIXED(MUL_FIXED(a,a),255); - { - extern int SpecialFXImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = SpecialFXImageNumber; - } - - for (image = 0; image<=1; image++) - { - { - VECTORCH translatedPts[4] = - { - {45300,0+-1000, 26000+-1000}, - {45300,0+-1000, 26000+ 1000}, - {45300,0+ 1000, 26000+ 1000}, - {45300,0+ 1000, 26000+-1000}, - - }; - extern int CurrentLightAtPlayer; - int i; - - if (image) a = 255-a; - for (i=0; i<4; i++) - { - VerticesBuffer[i].A = a/2; - - TranslatePointIntoViewspace(&translatedPts[i]); - VerticesBuffer[i].X = translatedPts[i].vx; - VerticesBuffer[i].Y = translatedPts[i].vy; - VerticesBuffer[i].Z = translatedPts[i].vz; - VerticesBuffer[i].U = mirrorUV[i*2]; - VerticesBuffer[i].V = mirrorUV[i*2+1]+image*(32<<16); - - - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 255; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - - } - RenderPolygon.NumberOfVertices=4; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_GLOWING; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } -} -#if 1 -#define OCTAVES 3 -int u[OCTAVES]; -int v[OCTAVES]; -int du[OCTAVES]; -int dv[OCTAVES]; -int setup=0; - -int SkyColour_R=200; -int SkyColour_G=200; -int SkyColour_B=200; -void RenderSky(void) -{ - POLYHEADER fakeHeader; - int x,z,o; - if(!setup) - { - int i; - setup=1; - for(i=0;iVDB_World.vx*7)/8; - translatedPts[i].vz += 2048*z;//+(Global_VDB_Ptr->VDB_World.vz*7)/8; -// RotateVector(&translatedPts[i],&(Global_VDB_Ptr->VDB_Mat)); -// translatedPts[i].vy = MUL_FIXED(translatedPts[i].vy,87381); - translatedPts[i].vx += Global_VDB_Ptr->VDB_World.vx; - translatedPts[i].vy += Global_VDB_Ptr->VDB_World.vy; - translatedPts[i].vz += Global_VDB_Ptr->VDB_World.vz; - TranslatePointIntoViewspace(&translatedPts[i]); - VerticesBuffer[i].X = translatedPts[i].vx; - VerticesBuffer[i].Y = translatedPts[i].vy; - VerticesBuffer[i].Z = translatedPts[i].vz; - - switch (CurrentVisionMode) - { - default: - case VISION_MODE_NORMAL: - { - VerticesBuffer[i].R = SkyColour_R; - VerticesBuffer[i].G = SkyColour_G; - VerticesBuffer[i].B = SkyColour_B; - break; - } - case VISION_MODE_IMAGEINTENSIFIER: - { - VerticesBuffer[i].R = 0; - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 0; - break; - } - case VISION_MODE_PRED_THERMAL: - case VISION_MODE_PRED_SEEALIENS: - case VISION_MODE_PRED_SEEPREDTECH: - { - VerticesBuffer[i].R = 0; - VerticesBuffer[i].G = 0; - VerticesBuffer[i].B = 255; - break; - } - } - - } - VerticesBuffer[0].U = (u[o]+size*x); - VerticesBuffer[0].V = (v[o]+size*z); - VerticesBuffer[1].U = (u[o]+size*x); - VerticesBuffer[1].V = (v[o]+size*(z+1)); - VerticesBuffer[2].U = (u[o]+size*(x+1)); - VerticesBuffer[2].V = (v[o]+size*(z+1)); - VerticesBuffer[3].U = (u[o]+size*(x+1)); - VerticesBuffer[3].V = (v[o]+size*z); - - - RenderPolygon.NumberOfVertices=4; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices>=3) - { - D3D_SkyPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - } - } - } - } - t/=2; - size*=2; - } - } - } -} -#endif -void RenderWaterFall(int xOrigin, int yOrigin, int zOrigin) -{ - int i,z; - VECTORCH v[4]; - - { - int waterfallX[9]; - int waterfallY[9]; - int waterfallZ[9]; - int waterfallZScale[9]; - for (i=0; i<9; i++) - { - - int u = (i*65536)/8; - - int b = MUL_FIXED(2*u,(65536-u)); - int c = MUL_FIXED(u,u); - int y3 = (4742-yOrigin); - int x3 = 2000; - int y2 = 2000; - int x2 = 1500; - - waterfallX[i] = MUL_FIXED(b,x2)+MUL_FIXED(c,x3); - waterfallY[i] = yOrigin+MUL_FIXED(b,y2)+MUL_FIXED(c,y3); - waterfallZ[i] = zOrigin+MUL_FIXED((66572-zOrigin),u); - waterfallZScale[i] = ONE_FIXED+b/2-c; - if (i!=8) - { - waterfallZScale[i]+=(FastRandom()&8191); - waterfallY[i]-=(FastRandom()&127); - } - - } - for (z=0; z<8; z++) - for (i=0; i<8; i++) - { - v[0].vx = xOrigin+MUL_FIXED(waterfallX[i],waterfallZScale[z]); - v[1].vx = xOrigin+MUL_FIXED(waterfallX[i],waterfallZScale[z+1]); - v[2].vx = xOrigin+MUL_FIXED(waterfallX[i+1],waterfallZScale[z+1]); - v[3].vx = xOrigin+MUL_FIXED(waterfallX[i+1],waterfallZScale[z]); - v[0].vy = waterfallY[i]; - v[1].vy = waterfallY[i]; - v[2].vy = waterfallY[i+1]; - v[3].vy = waterfallY[i+1]; - - - v[0].vz = waterfallZ[z]; - v[1].vz = waterfallZ[z+1]; - v[2].vz = v[1].vz; - v[3].vz = v[0].vz; - - DrawWaterFallPoly(v); - } - for (z=0; z<3; z++) - { - v[0].vx = xOrigin+MUL_FIXED(waterfallX[8],waterfallZScale[z+1]); - v[1].vx = xOrigin+MUL_FIXED(waterfallX[8],waterfallZScale[z]); - v[2].vx = 179450; - v[3].vx = 179450; - - v[0].vy = 4742; - v[1].vy = 4742; - v[2].vy = 4742; - v[3].vy = 4742; - - v[0].vz = waterfallZ[z]; - v[1].vz = waterfallZ[z+1]; - v[2].vz = v[1].vz; - v[3].vz = v[0].vz; - - DrawWaterFallPoly(v); - } - - for (z=0; z<8; z++) - for (i=0; i<16; i++) - { - int xOffset,xOffset2; - if (z<3) xOffset = 179450; - else xOffset = xOrigin+MUL_FIXED(waterfallX[8],waterfallZScale[z]); - if (z<2) xOffset2 = 179450; - else xOffset2 = xOrigin+MUL_FIXED(waterfallX[8],waterfallZScale[z+1]); - - v[0].vx = xOffset; - v[1].vx = xOffset2; - v[2].vx = xOffset2; - v[3].vx = xOffset; - - v[0].vy = 4742+i*4096; - v[1].vy = 4742+i*4096; - v[2].vy = 4742+(i+1)*4096; - v[3].vy = 4742+(i+1)*4096; - - - v[0].vz = waterfallZ[z]; - v[1].vz = waterfallZ[z+1]; - v[2].vz = v[1].vz; - v[3].vz = v[0].vz; - - DrawWaterFallPoly(v); - } - - } -} - -void DrawWaterFallPoly(VECTORCH *v) -{ - POLYHEADER fakeHeader; - - { - extern int CloudyImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = CloudyImageNumber; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - { - static wv=0; - unsigned int a; - for (a=0; a<4; a++) - { - VerticesBuffer[a].A = 128; - VerticesBuffer[a].U = (v[a].vz)<<11; - VerticesBuffer[a].V = (v[a].vy<<10)-wv; - - TranslatePointIntoViewspace(&v[a]); - VerticesBuffer[a].X = v[a].vx; - VerticesBuffer[a].Y = v[a].vy; - VerticesBuffer[a].Z = v[a].vz; - VerticesBuffer[a].R = 200; - VerticesBuffer[a].G = 200; - VerticesBuffer[a].B = 255; - VerticesBuffer[a].SpecularR = 0; - VerticesBuffer[a].SpecularG = 0; - VerticesBuffer[a].SpecularB = 0; - - - } - wv+=NormalFrameTime*2; - RenderPolygon.NumberOfVertices=4; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices>=3) - { - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - } - } - } - } -} -void RenderPredatorTargetingSegment(int theta, int scale, int drawInRed) -{ - VECTOR2D offset[4]; - POLYHEADER fakeHeader; - int centreX,centreY; - int z = ONE_FIXED-scale; - z = MUL_FIXED(MUL_FIXED(z,z),2048); - { - extern int SmartTargetSightX, SmartTargetSightY; - extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock; - centreY = MUL_FIXED( (SmartTargetSightY-(ScreenDescriptorBlock.SDB_Height<<15)) /Global_VDB_Ptr->VDB_ProjY,z); - if (MIRROR_CHEATMODE) - { - centreX = MUL_FIXED( ( - (SmartTargetSightX-(ScreenDescriptorBlock.SDB_Width<<15))) /Global_VDB_Ptr->VDB_ProjX,z); - } - else - { - centreX = MUL_FIXED( (SmartTargetSightX-(ScreenDescriptorBlock.SDB_Width<<15)) /Global_VDB_Ptr->VDB_ProjX,z); - } - } - z = (float)z*CameraZoomScale; - - { - int a = 160; - int b = 40; - - /* tan(30) = 1/sqrt(3), & 65536/(sqrt(3)) = 37837 */ - - int y = MUL_FIXED(37837,a+20); - - offset[0].vx = -a+MUL_FIXED(113512,b); - offset[0].vy = y-b; - - offset[1].vx = -offset[0].vx; - offset[1].vy = y-b; - - offset[2].vx = a; - offset[2].vy = y; - - offset[3].vx = -a; - offset[3].vy = y; - - if (theta) - { - extern void RotateVertex(VECTOR2D *vertexPtr, int theta); - - RotateVertex(&offset[0],theta); - RotateVertex(&offset[1],theta); - RotateVertex(&offset[2],theta); - RotateVertex(&offset[3],theta); - } - - if (MIRROR_CHEATMODE) - { - offset[0].vx = -offset[0].vx; - offset[1].vx = -offset[1].vx; - offset[2].vx = -offset[2].vx; - offset[3].vx = -offset[3].vx; - } - VerticesBuffer[0].X = offset[0].vx+centreX; - VerticesBuffer[0].Y = MUL_FIXED(offset[0].vy,87381)+centreY; - - VerticesBuffer[1].X = offset[1].vx+centreX; - VerticesBuffer[1].Y = MUL_FIXED(offset[1].vy,87381)+centreY; - - VerticesBuffer[2].X = offset[2].vx+centreX; - VerticesBuffer[2].Y = MUL_FIXED(offset[2].vy,87381)+centreY; - - VerticesBuffer[3].X = offset[3].vx+centreX; - VerticesBuffer[3].Y = MUL_FIXED(offset[3].vy,87381)+centreY; - } - fakeHeader.PolyFlags = iflag_transparent; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_GLOWING; - - - { - int i; - for (i=0; i<4; i++) - { - VerticesBuffer[i].A = 128; - - VerticesBuffer[i].Z = z; - - VerticesBuffer[i].R = 255; - - if (drawInRed) - { - VerticesBuffer[i].G = 0; - VerticesBuffer[i].B = 0; - } - else - { - VerticesBuffer[i].G = 255; - VerticesBuffer[i].B = 255; - } - - } - RenderPolygon.NumberOfVertices=4; - } - - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - - if (drawInRed) - { - VerticesBuffer[0].X = MUL_FIXED(offset[3].vx,scale*8)+centreX; - VerticesBuffer[0].Y = MUL_FIXED(MUL_FIXED(offset[3].vy,scale*8),87381)+centreY; - - VerticesBuffer[1].X = MUL_FIXED(offset[2].vx,scale*8)+centreX; - VerticesBuffer[1].Y = MUL_FIXED(MUL_FIXED(offset[2].vy,scale*8),87381)+centreY; - - VerticesBuffer[2].X = offset[2].vx+centreX; - VerticesBuffer[2].Y = MUL_FIXED(offset[2].vy,87381)+centreY; - - VerticesBuffer[3].X = offset[3].vx+centreX; - VerticesBuffer[3].Y = MUL_FIXED(offset[3].vy,87381)+centreY; - { - int i; - for (i=0; i<2; i++) - { - VerticesBuffer[i].A = 0; - VerticesBuffer[i].Z = z; - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 0; - VerticesBuffer[i].B = 0; - } - for (i=2; i<4; i++) - { - VerticesBuffer[i].A = 128; - VerticesBuffer[i].Z = z; - VerticesBuffer[i].R = 255; - VerticesBuffer[i].G = 0; - VerticesBuffer[i].B = 0; - } - RenderPolygon.NumberOfVertices=4; - } - - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } -} -void RenderPredatorPlasmaCasterCharge(int value, VECTORCH *worldOffsetPtr, MATRIXCH *orientationPtr) -{ - POLYHEADER fakeHeader; - VECTORCH translatedPts[4]; - int halfWidth = 100; - int halfHeight = 4; - int z = -1; - translatedPts[0].vx = -halfWidth; - translatedPts[0].vy = z; - translatedPts[0].vz = -halfHeight-4; - - translatedPts[1].vx = -halfWidth+MUL_FIXED(value,2*halfWidth-10); - translatedPts[1].vy = z; - translatedPts[1].vz = -halfHeight-4; - - translatedPts[2].vx = -halfWidth+MUL_FIXED(value,2*halfWidth-10); - translatedPts[2].vy = z; - translatedPts[2].vz = halfHeight-4; - - translatedPts[3].vx = -halfWidth; - translatedPts[3].vy = z; - translatedPts[3].vz = halfHeight-4; - - fakeHeader.PolyFlags = iflag_transparent; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_GLOWING; - - - { - int i; - for (i=0; i<4; i++) - { - VerticesBuffer[i].A = 255; - - RotateVector(&(translatedPts[i]),orientationPtr); - translatedPts[i].vx += worldOffsetPtr->vx; - translatedPts[i].vy += worldOffsetPtr->vy; - translatedPts[i].vz += worldOffsetPtr->vz; - TranslatePointIntoViewspace(&translatedPts[i]); - - VerticesBuffer[i].X = translatedPts[i].vx; - VerticesBuffer[i].Y = translatedPts[i].vy; - VerticesBuffer[i].Z = translatedPts[i].vz; - - VerticesBuffer[i].R = 32; - VerticesBuffer[i].G = 0; - VerticesBuffer[i].B = 0; - } - RenderPolygon.NumberOfVertices=4; - } - { - int outcode = QuadWithinFrustrum(); - - if (outcode) - { - if (outcode!=2) - { - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - else D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,VerticesBuffer); - } - } -} - - - - - -int LightFlareAlpha = 65535; -void RenderLightFlare(VECTORCH *positionPtr, unsigned int colour) -{ - int centreX,centreY,sizeX,sizeY,z; - PARTICLE particle; -// VECTORCH point = {-20947,-8216,2244}; - VECTORCH point = *positionPtr; - - - #if 0 - if (IsThisObjectVisibleFromThisPosition(Player,&point,ONE_FIXED)) - { - LightFlareAlpha+=NormalFrameTime*8; - if (LightFlareAlpha > 65535) LightFlareAlpha = 65535; - textprint("FLARE VIS\n"); - } - else - { - LightFlareAlpha-=NormalFrameTime*8; - if (LightFlareAlpha < 0) LightFlareAlpha = 0; - textprint("FLARE INVIS\n"); - } - #endif - TranslatePointIntoViewspace(&point); - if(point.vz<64) return; - - #if 0 - { - int alpha = ONE_FIXED - point.vz*2; - if (alpha<0) return; - - alpha = MUL_FIXED(LightFlareAlpha,alpha)>>8; - - particle.ParticleID = PARTICLE_MUZZLEFLASH; - particle.Colour = 0xffffff+((alpha)<<24); - } - #else - particle.ParticleID = PARTICLE_LIGHTFLARE; -// particle.Colour = 0xffffff+((LightFlareAlpha>>8)<<24); - particle.Colour = colour; - #endif -// textprint("render fn %d %d %d\n",positionPtr->vx,positionPtr->vy,positionPtr->vz); -// PARTICLE_DESC *particleDescPtr = &ParticleDescription[particlePtr->ParticleID]; -// int particleSize = particlePtr->Size; - z=ONE_FIXED; - { - extern int SmartTargetSightX, SmartTargetSightY; - extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock; - centreX = DIV_FIXED(point.vx,point.vz); - centreY = DIV_FIXED(point.vy,point.vz); - sizeX = (ScreenDescriptorBlock.SDB_Width<<13)/Global_VDB_Ptr->VDB_ProjX; - sizeY = MUL_FIXED(ScreenDescriptorBlock.SDB_Height<<13,87381)/Global_VDB_Ptr->VDB_ProjY; - } - - VerticesBuffer[0].X = centreX - sizeX; - VerticesBuffer[0].Y = centreY - sizeY; - VerticesBuffer[0].Z = z; - VerticesBuffer[1].X = centreX + sizeX; - VerticesBuffer[1].Y = centreY - sizeY; - VerticesBuffer[1].Z = z; - VerticesBuffer[2].X = centreX + sizeX; - VerticesBuffer[2].Y = centreY + sizeY; - VerticesBuffer[2].Z = z; - VerticesBuffer[3].X = centreX - sizeX; - VerticesBuffer[3].Y = centreY + sizeY; - VerticesBuffer[3].Z = z; - - { - int outcode = QuadWithinFrustrum(); - - if (outcode) - { - RenderPolygon.NumberOfVertices=4; - -// textprint("On Screen!\n"); - VerticesBuffer[0].U = 192<<16; - VerticesBuffer[0].V = 0; - - VerticesBuffer[1].U = 255<<16; - VerticesBuffer[1].V = 0; - - VerticesBuffer[2].U = 255<<16; - VerticesBuffer[2].V = 63<<16; - - VerticesBuffer[3].U = 192<<16; - VerticesBuffer[3].V = 63<<16; - - if (outcode!=2) - { - TexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_Particle_Output(&particle,RenderPolygon.Vertices); - - } - else D3D_Particle_Output(&particle,VerticesBuffer); - } - } -} - -#if VOLUMETRIC_FOG - -int FogValue(VECTORCH *vertexPtr) -{ - float a,b,c,d, lMax,lMin; - VECTORCHF v; - v.vx = vertexPtr->vx; - v.vy = vertexPtr->vy; - v.vz = vertexPtr->vz; - - a = (v.vx*v.vx + v.vy*v.vy + v.vz*v.vz)*2.0; - b = -2.0*(v.vx*FogPosition.vx+v.vy*FogPosition.vy+v.vz*FogPosition.vz); - { -// float s = MUL_FIXED(GetSin(CloakingPhase&4095),GetSin(CloakingPhase&4095)); - c = FogMagnitude - 10000.0*10000.0; - } - d = b*b-2.0*a*c; - if (d<0) return 0; - - d = sqrt(d); - - lMin = (-b-d)/(a); - if (lMin>1.0) return 0; - - lMax = (-b+d)/(a); - - if (lMax<0.0) - { - return 0; - } - else if (lMax>1.0) - { - if (lMin>0.0) - { - float m; - int f; - m = Approximate3dMagnitude(vertexPtr); - f2i(f,(lMax-lMin)*m); - return f; - } - else return Approximate3dMagnitude(vertexPtr); - } - else //(lMax<1.0) - { - if (lMin>0.0) - { - float m; - int f; - m = Approximate3dMagnitude(vertexPtr); - f2i(f,(lMax-lMin)*m); - return f; - } - else - { - float m; - int f; - m = Approximate3dMagnitude(vertexPtr); - f2i(f,(lMax)*m); - return f; - } - - } -} -#endif -#if 0 -int SphereGenerated=0; -void RenderSphere(void) -{ - if(!SphereGenerated) - { - Generate_Sphere(); - SphereGenerated=1; - } -// EvolveSphere(); - { - int f; - POLYHEADER fakeHeader; - MATRIXCH mat = (Global_VDB_Ptr->VDB_Mat); - VECTORCH *vSphere = SphereRotatedVertex; - VECTORCH *v2 = SphereAtmosRotatedVertex; - VECTORCH d; - { - fakeHeader.PolyFlags = 0; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_OFF; - } - { - MATRIXCH m2; - EULER e; - e.EulerX =0; - e.EulerY =(CloakingPhase/32)&4095; - e.EulerZ =0; - CreateEulerMatrix(&e,&m2); - TransposeMatrixCH(&m2); - MatrixMultiply(&mat,&m2,&mat); - d.vx = -3316 - Global_VDB_Ptr->VDB_World.vx; - d.vy = -50000 -Global_VDB_Ptr->VDB_World.vy; - d.vz = 26926 -Global_VDB_Ptr->VDB_World.vz; - - RotateVector(&d,&(Global_VDB_Ptr->VDB_Mat)); - - } - for (f=0; f0) radius += h; - *vSphere = SphereVertex[f]; - - RotateVector(vSphere,&mat); - v2->vx = MUL_FIXED(vSphere->vx,4096+300); - v2->vy = MUL_FIXED(vSphere->vy,4096+300); - v2->vz = MUL_FIXED(vSphere->vz,4096+300); - v2++; - vSphere->vx = MUL_FIXED(vSphere->vx,radius); - vSphere->vy = MUL_FIXED(vSphere->vy,radius); - vSphere->vz = MUL_FIXED(vSphere->vz,radius); - vSphere++; - } - #if 0 - for (f=0; fONE_FIXED) l = ONE_FIXED; - if (l<0) l = 0; - - v[i].vx += d.vx; - v[i].vy += d.vy; - v[i].vz += d.vz; - v[i].vy = MUL_FIXED(v[i].vy,87381); - - VerticesBuffer[i].X = v[i].vx; - VerticesBuffer[i].Y = v[i].vy; - VerticesBuffer[i].Z = v[i].vz; - - VerticesBuffer[i].A = 0; - if (h<=0) - { - VerticesBuffer[i].R = 0; - VerticesBuffer[i].G = 255+h; - VerticesBuffer[i].B = 255; - } - else if (h>128) - { - VerticesBuffer[i].R = MUL_FIXED(255,h*256); - VerticesBuffer[i].G = MUL_FIXED(200,h*256); - VerticesBuffer[i].B = MUL_FIXED(150,h*256); - } - else - { - VerticesBuffer[i].R = 0; - VerticesBuffer[i].G = 96-h/2; - VerticesBuffer[i].B = 0; - } - VerticesBuffer[i].R = MUL_FIXED(VerticesBuffer[i].R,l); - VerticesBuffer[i].G = MUL_FIXED(VerticesBuffer[i].G,l); - VerticesBuffer[i].B = MUL_FIXED(VerticesBuffer[i].B,l); - } - RenderPolygon.NumberOfVertices=3; - } - - GouraudPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices>=3) - { - D3D_ZBufferedGouraudPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - } - } - } - } - - } - #endif - { - extern int CloudyImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = CloudyImageNumber; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_OFF; - } - for (f=0; fONE_FIXED) l = ONE_FIXED; - if (l<0) l = 0; - - vertex[i].vx += d.vx; - vertex[i].vy += d.vy; - vertex[i].vz += d.vz; - vertex[i].vy = MUL_FIXED(vertex[i].vy,87381); - - VerticesBuffer[i].X = vertex[i].vx; - VerticesBuffer[i].Y = vertex[i].vy; - VerticesBuffer[i].Z = vertex[i].vz; - VerticesBuffer[i].U = SphereAtmosU[n];//+u[0]; - VerticesBuffer[i].V = SphereAtmosV[n];//+v[0]; - - VerticesBuffer[i].A = 255; - VerticesBuffer[i].R = l; - VerticesBuffer[i].G = l/2; - VerticesBuffer[i].B = 0; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - } - RenderPolygon.NumberOfVertices=3; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices>=3) - { - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - } - } - } - } - } - } - } - -} -void RenderBoom(void) -{ - VECTORCH d; - if(!SphereGenerated) - { - Generate_Sphere(); - SphereGenerated=1; - } - d.vx = 0; - d.vy = 0; - d.vz = 0; - - RenderBoomSphere(&d,4096); - -} -void RenderBoomSphere(VECTORCH *position, int radius) -{ - int Alpha[SPHERE_VERTICES]; - extern D3DTEXTUREHANDLE FMVTextureHandle[]; - - { - int f; - POLYHEADER fakeHeader; - VECTORCH *vSphere = SphereRotatedVertex; - static int o=0; - o++; - - { - extern int CloudyImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = CloudyImageNumber; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - for (f=0; fvx = MUL_FIXED(vSphere->vx,r); - vSphere->vy = MUL_FIXED(vSphere->vy,r); - vSphere->vz = MUL_FIXED(vSphere->vz,r); - - vSphere->vx += position->vx; - vSphere->vy += position->vy; - vSphere->vz += position->vz; - TranslatePointIntoViewspace(vSphere); - vSphere++; - - } - - for (f=0; f(128*3+64)*65536) - { - if (d1>0) i2=1; - else i1=1; - } - if (ad2>(128*3+64)*65536) - { - if (d2>0) i3=1; - else i1=1; - } - if (ad3>(128*3+64)*65536) - { - if (d3>0) i3=1; - else i2=1; - } - - if(i1) VerticesBuffer[0].U+=128*65536*4; - if(i2) VerticesBuffer[1].U+=128*65536*4; - if(i3) VerticesBuffer[2].U+=128*65536*4; - } - - VerticesBuffer[i].A = 128+Alpha[n]; - VerticesBuffer[i].R = 0; - VerticesBuffer[i].G = 128; - VerticesBuffer[i].B = 255; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - } - RenderPolygon.NumberOfVertices=3; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices>=3) - { - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); -// D3D_FMVParticle_Output(RenderPolygon.Vertices); - } - } - } - } - } - } - } - -} - - -#endif -int Alpha[SPHERE_VERTICES]; -void RenderExplosionSurface(VOLUMETRIC_EXPLOSION *explosionPtr) -{ - extern D3DTEXTUREHANDLE FMVTextureHandle[]; - int red,green,blue; - - switch (CurrentVisionMode) - { - default: - case VISION_MODE_NORMAL: - { - red = 255; - green = 255; - blue = 255; - break; - } - case VISION_MODE_IMAGEINTENSIFIER: - { - red = 0; - green = 255; - blue = 0; - break; - } - case VISION_MODE_PRED_THERMAL: - case VISION_MODE_PRED_SEEALIENS: - case VISION_MODE_PRED_SEEPREDTECH: - { - red = 255; - green = 0; - blue = 255; - break; - } - } - { - int f; - POLYHEADER fakeHeader; - VECTORCH *vSphere = SphereRotatedVertex; - static int o=0; - o++; - - if (explosionPtr->ExplosionPhase) - { - extern int BurningImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = BurningImageNumber; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; - } - else - { - extern int CloudyImageNumber; - fakeHeader.PolyFlags = iflag_transparent; - fakeHeader.PolyColour = CloudyImageNumber; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_INVCOLOUR; - red = explosionPtr->LifeTime/256; - green = explosionPtr->LifeTime/256; - blue = explosionPtr->LifeTime/256; - } - - for (f=0; fPosition[f]; - - TranslatePointIntoViewspace(vSphere); - vSphere++; - } - - for (f=0; fLifeTime)*128*2; -// SphereAtmosU[0]=MUL_FIXED(SphereAtmosU[0],u); -// SphereAtmosV[0]=MUL_FIXED(SphereAtmosV[0],u); - VerticesBuffer[i].U = (SphereAtmosU[n]);//+u[0]; - VerticesBuffer[i].V = (SphereAtmosV[n]+u);//+v[0]; - } - { - int d1 = VerticesBuffer[0].U-VerticesBuffer[1].U; - int d2 = VerticesBuffer[0].U-VerticesBuffer[2].U; - int d3 = VerticesBuffer[1].U-VerticesBuffer[2].U; - - int ad1=d1,ad2=d2,ad3=d3; - int i1=0,i2=0,i3=0; - - if (ad1<0) ad1=-ad1; - if (ad2<0) ad2=-ad2; - if (ad3<0) ad3=-ad3; - - if (ad1>(128*(SPHERE_TEXTURE_WRAP-1)+64)*65536) - { - if (d1>0) i2=1; - else i1=1; - } - if (ad2>(128*(SPHERE_TEXTURE_WRAP-1)+64)*65536) - { - if (d2>0) i3=1; - else i1=1; - } - if (ad3>(128*(SPHERE_TEXTURE_WRAP-1)+64)*65536) - { - if (d3>0) i3=1; - else i2=1; - } - - if(i1) VerticesBuffer[0].U+=128*65536*SPHERE_TEXTURE_WRAP; - if(i2) VerticesBuffer[1].U+=128*65536*SPHERE_TEXTURE_WRAP; - if(i3) VerticesBuffer[2].U+=128*65536*SPHERE_TEXTURE_WRAP; - } - - VerticesBuffer[i].A = explosionPtr->LifeTime/256; - VerticesBuffer[i].R = red; - VerticesBuffer[i].G = green; - VerticesBuffer[i].B = blue; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - - } - RenderPolygon.NumberOfVertices=3; - } - - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices>=3) - { - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices>=3) - { - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); -// D3D_FMVParticle_Output(RenderPolygon.Vertices); - } - } - } - } - } - } - } -} -void RenderInsideAlienTongue(int offset) -{ - #define TONGUE_SCALE 1024 - int TonguePolyVertexList[4][4] = - { - {0,3,7,4}, //+ve y - {1,2,3,0}, //+ve x - {5,6,7,4}, //-ve x - {1,2,6,5}, //-ve y - }; - VECTORCH vertices[8]= - { - {+TONGUE_SCALE,-TONGUE_SCALE,0}, - {+TONGUE_SCALE,+TONGUE_SCALE,0}, - {+TONGUE_SCALE,+TONGUE_SCALE,+TONGUE_SCALE*4}, - {+TONGUE_SCALE,-TONGUE_SCALE,+TONGUE_SCALE*4}, - - {-TONGUE_SCALE,-TONGUE_SCALE,0}, - {-TONGUE_SCALE,+TONGUE_SCALE,0}, - {-TONGUE_SCALE,+TONGUE_SCALE,+TONGUE_SCALE*4}, - {-TONGUE_SCALE,-TONGUE_SCALE,+TONGUE_SCALE*4}, - }; - VECTORCH translatedPts[8]; - - POLYHEADER fakeHeader; - int polyNumber; - - #if 1 - { - - int i = 7; - do - { - translatedPts[i] = vertices[i]; - translatedPts[i].vz -= (ONE_FIXED-offset)/16; -// TranslatePointIntoViewspace(&translatedPts[i]); - } - while(i--); - } - #endif - { - extern int AlienTongueImageNumber; - fakeHeader.PolyFlags = 0; - fakeHeader.PolyColour = AlienTongueImageNumber; - RenderPolygon.TranslucencyMode = TRANSLUCENCY_GLOWING; - } - - for(polyNumber=0; polyNumber<4; polyNumber++) - { - { - int i; - for (i=0; i<4; i++) - { - int v = TonguePolyVertexList[polyNumber][i]; - VerticesBuffer[i].A = 255; - VerticesBuffer[i].X = translatedPts[v].vx; - VerticesBuffer[i].Y = translatedPts[v].vy; - VerticesBuffer[i].Z = translatedPts[v].vz; - VerticesBuffer[i].U = CuboidPolyVertexU[3][i]<<16; - VerticesBuffer[i].V = CuboidPolyVertexV[3][i]<<16; - - - VerticesBuffer[i].R = offset/2048; - VerticesBuffer[i].G = offset/2048; - VerticesBuffer[i].B = offset/2048; - VerticesBuffer[i].SpecularR = 0; - VerticesBuffer[i].SpecularG = 0; - VerticesBuffer[i].SpecularB = 0; - - } - RenderPolygon.NumberOfVertices=4; - } - { - GouraudTexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) continue; - GouraudTexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) continue; - D3D_ZBufferedGouraudTexturedPolygon_Output(&fakeHeader,RenderPolygon.Vertices); - - } - } -} - - - -#define NO_OF_STARS 500 -typedef struct -{ - VECTORCH Position; - int Colour; - int Frequency; - int Phase; - -} STARDESC; -static STARDESC StarArray[NO_OF_STARS]; - -void CreateStarArray(void) -{ - int i; - - SetSeededFastRandom(FastRandom()); - for (i=0; iVDB_World.vx; - position.vy += Global_VDB_Ptr->VDB_World.vy; - position.vz += Global_VDB_Ptr->VDB_World.vz; - - TranslatePointIntoViewspace(&position); - #endif -// RotateVector(&position,&(Global_VDB_Ptr->VDB_Mat)); - - - VerticesBuffer[0].X = position.vx - sizeX; - VerticesBuffer[0].Y = position.vy - sizeY; - VerticesBuffer[0].Z = position.vz; - VerticesBuffer[1].X = position.vx + sizeX; - VerticesBuffer[1].Y = position.vy - sizeY; - VerticesBuffer[1].Z = position.vz; - VerticesBuffer[2].X = position.vx + sizeX; - VerticesBuffer[2].Y = position.vy + sizeY; - VerticesBuffer[2].Z = position.vz; - VerticesBuffer[3].X = position.vx - sizeX; - VerticesBuffer[3].Y = position.vy + sizeY; - VerticesBuffer[3].Z = position.vz; - - { - int outcode = QuadWithinFrustrum(); - - if (outcode) - { - RenderPolygon.NumberOfVertices=4; - - // textprint("On Screen!\n"); - VerticesBuffer[0].U = 192<<16; - VerticesBuffer[0].V = 0; - - VerticesBuffer[1].U = 255<<16; - VerticesBuffer[1].V = 0; - - VerticesBuffer[2].U = 255<<16; - VerticesBuffer[2].V = 63<<16; - - VerticesBuffer[3].U = 192<<16; - VerticesBuffer[3].V = 63<<16; - - if (outcode!=2) - { - TexturedPolygon_ClipWithZ(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeX(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithNegativeY(); - if(RenderPolygon.NumberOfVertices<3) return; - TexturedPolygon_ClipWithPositiveX(); - if(RenderPolygon.NumberOfVertices<3) return; - D3D_Particle_Output(&particle,RenderPolygon.Vertices); - - } - else D3D_Particle_Output(&particle,VerticesBuffer); - } - } - } -} - - - - - - -#if 0 -/* KJL 17:07:52 07/11/98 - experiment! */ -extern unsigned char DebouncedKeyboardInput[]; -#include "dungeon\angband.h" -char array[MAX_WID+1][MAX_HGT+1]; -extern cave_type cave[MAX_HGT][MAX_WID]; -void RenderDungeon(void) -{ - int x,y; - int maxX=MAX_WID-1,maxY=MAX_HGT-1; - static int notMade=1; - - if (notMade || DebouncedKeyboardInput[KEY_G]) - { - for (x=0; x<=maxX; x++) - for (y=0; y<=maxY; y++) - { - cave[y][x].feat = FEAT_WALL_OUTER; - } - generate_cave(); - for (x=0; x<=maxX; x++) - for (y=0; y<=maxY; y++) - { - array[x][y] = 1; - if (cave[y][x].feat == FEAT_FLOOR) - array[x][y] = 0; - } - notMade = 0; - } - for (x=0; x<=maxX; x++) - for (y=0; y<=maxY; y++) - { - if (!array[x][y]) - { - - if (x>0) - { - if (array[x-1][y]) RenderWallY(x,y); - } - else - { - RenderWallY(0,y); - } - if (x0) - { - if (array[x][y-1]) RenderWallX(x,y); - } - else - { - RenderWallX(x,0); - } - if (yPolyPtr = outputPolyPtr; - - { - int maxZ = smallint; - int minZ = bigint; - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - do - { - int z = vertices->Z; - - if(z > maxZ) maxZ = z; - if(z < minZ) minZ = z; - vertices++; - } - while(--i); - - if (inputPolyPtr->PolyFlags & iflag_sortnearz) currentItemPtr->SortKey = minZ; - else if (inputPolyPtr->PolyFlags & iflag_sortfarz) currentItemPtr->SortKey = maxZ +10; - else currentItemPtr->SortKey = maxZ; - } - - ItemCount++; - - /* Write out the Item Header */ - outputPolyPtr->PolyItemType = I_ZB_2dTexturedPolygon; - outputPolyPtr->PolyNormalIndex = inputPolyPtr->PolyNormalIndex; - outputPolyPtr->PolyFlags = inputPolyPtr->PolyFlags; - if(Global_ShapeNormals) - outputPolyPtr->PolyColour = OldLightingModelForFlatShading((int *)inputPolyPtr); - else - outputPolyPtr->PolyColour = 0; - - /* Write out the Item Points Array */ - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - itemDataPtr = &outputPolyPtr->Poly1stPt; - - do - { - *itemDataPtr++ = ProjectedAndClampedX(vertices); - *itemDataPtr++ = ProjectedAndClampedY(vertices); - *itemDataPtr++ = vertices->U; - *itemDataPtr++ = vertices->V; - { - float *fDataPtr = (float*)itemDataPtr; - *fDataPtr = 1.0/((float)(vertices->Z)); - itemDataPtr++; - } - vertices++; - } - while(--i); - } - /* Write out the Item Terminator */ - *itemDataPtr = Term; - } -} -/* TEXTURED POLYGONS */ -static void TexturedPolygon_Construct(POLYHEADER *polyPtr) -{ - int *texture_defn_ptr; - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - - - /* get ptr to uv coords for this polygon */ - { - int texture_defn_index = (polyPtr->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - } - - VertexNumberPtr = &polyPtr->Poly1stPt; - - /* If this texture is animated the UV array must be calculated */ - if(polyPtr->PolyFlags & iflag_txanim) - { - /* Create the UV array */ - int uv_array[maxpolypts * 2]; - CreateTxAnimUVArray(texture_defn_ptr, uv_array, (int*)polyPtr); - texture_defn_ptr = uv_array; - - do - { - renderVerticesPtr->X = RotatedPts[*VertexNumberPtr].vx; - renderVerticesPtr->Y = RotatedPts[*VertexNumberPtr].vy; - renderVerticesPtr->Z = RotatedPts[*VertexNumberPtr].vz; - - renderVerticesPtr->U = texture_defn_ptr[0]; - renderVerticesPtr->V = texture_defn_ptr[1]; - - renderVerticesPtr++; - VertexNumberPtr++; - - texture_defn_ptr += 2; - } - while(--i); - } - else - { - do - { - renderVerticesPtr->X = RotatedPts[*VertexNumberPtr].vx; - renderVerticesPtr->Y = RotatedPts[*VertexNumberPtr].vy; - renderVerticesPtr->Z = RotatedPts[*VertexNumberPtr].vz; - - renderVerticesPtr->U = texture_defn_ptr[0] << 16; - renderVerticesPtr->V = texture_defn_ptr[1] << 16; - - renderVerticesPtr++; - VertexNumberPtr++; - - texture_defn_ptr += 2; - } - while(--i); - } - -} -static void TexturedPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr) -{ - int *itemDataPtr; - - itemDataPtr = AllocateItemData(IHdrSize + RenderPolygon.NumberOfVertices*4 + ITrmSize); - - if(itemDataPtr) - { - POLYHEADER *outputPolyPtr = (POLYHEADER*) itemDataPtr; - struct KItem * const currentItemPtr = &KItemList[ItemCount]; - - currentItemPtr->PolyPtr = outputPolyPtr; - - { - int maxZ = smallint; - int minZ = bigint; - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - do - { - int z = vertices->Z; - - if(z > maxZ) maxZ = z; - if(z < minZ) minZ = z; - vertices++; - } - while(--i); - - if (inputPolyPtr->PolyFlags & iflag_sortnearz) currentItemPtr->SortKey = minZ; - else if (inputPolyPtr->PolyFlags & iflag_sortfarz) currentItemPtr->SortKey = maxZ +10; - else currentItemPtr->SortKey = maxZ; - } - - ItemCount++; - - /* Write out the Item Header */ - outputPolyPtr->PolyItemType = I_2dTexturedPolygon; - outputPolyPtr->PolyNormalIndex = inputPolyPtr->PolyNormalIndex; - outputPolyPtr->PolyFlags = inputPolyPtr->PolyFlags; - if(Global_ShapeNormals) - outputPolyPtr->PolyColour = OldLightingModelForFlatShading((int *)inputPolyPtr); - else - outputPolyPtr->PolyColour = 0; - - /* Write out the Item Points Array */ - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - itemDataPtr = &outputPolyPtr->Poly1stPt; - - do - { - *itemDataPtr++ = ProjectedAndClampedX(vertices); - *itemDataPtr++ = ProjectedAndClampedY(vertices); - *itemDataPtr++ = vertices->U; - *itemDataPtr++ = vertices->V; - vertices++; - } - while(--i); - } - /* Write out the Item Terminator */ - *itemDataPtr = Term; - } -} -static void ZBufferedGouraudTexturedPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) -{ - POLYHEADER *outputPolyPtr; - int *itemDataPtr; - - struct KItem * const currentItemPtr = &KItemList[ItemCount]; - - { - int maxZ = smallint; - int minZ = bigint; - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - do - { - int z = vertices->Z; - - if(z > maxZ) maxZ = z; - if(z < minZ) minZ = z; - vertices++; - } - while(--i); - - if (inputPolyPtr->PolyFlags & iflag_sortnearz) currentItemPtr->SortKey = minZ; - else if (inputPolyPtr->PolyFlags & iflag_sortfarz) currentItemPtr->SortKey = maxZ +10; - else currentItemPtr->SortKey = maxZ; - } - - /* draw in 3d */ - { - itemDataPtr = AllocateItemData(IHdrSize + RenderPolygon.NumberOfVertices*6 + ITrmSize); - outputPolyPtr = (POLYHEADER*) itemDataPtr; - - /* Write out the Item Header */ - outputPolyPtr->PolyItemType = I_ZB_Gouraud3dTexturedPolygon; - - /* Write out the Item Points Array */ - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - itemDataPtr = &outputPolyPtr->Poly1stPt; - - do - #if 1 - { - float oneOverZ; - oneOverZ = (1.0)/vertices->Z; - { - int x = (vertices->X*(Global_VDB_Ptr->VDB_ProjX+1))/vertices->Z+Global_VDB_Ptr->VDB_CentreX; - if (xVDB_ClipLeft) - { - x=Global_VDB_Ptr->VDB_ClipLeft; - } - else if (x>Global_VDB_Ptr->VDB_ClipRight) - { - x=Global_VDB_Ptr->VDB_ClipRight; - } - - *itemDataPtr++=x; - } - { - int y = (vertices->Y*(Global_VDB_Ptr->VDB_ProjY+1))/vertices->Z+Global_VDB_Ptr->VDB_CentreY; - if (yVDB_ClipUp) - { - y=Global_VDB_Ptr->VDB_ClipUp; - } - else if (y>Global_VDB_Ptr->VDB_ClipDown) - { - y=Global_VDB_Ptr->VDB_ClipDown; - } - *itemDataPtr++=y; - } - { - float *fDataPtr = (float*)itemDataPtr; - - *fDataPtr++ = (float)(vertices->U>>16); - *fDataPtr++ = (float)(vertices->V>>16); - *fDataPtr++ = oneOverZ; - itemDataPtr = (int*)fDataPtr; - } - *itemDataPtr++ = vertices->I; - vertices++; - } - #else - { - *itemDataPtr++ = ProjectedAndClampedX(vertices); - *itemDataPtr++ = ProjectedAndClampedY(vertices); - { - float uf,vf,zf; - float *fDataPtr = (float*)itemDataPtr; - - zf = (vertices->Z); - - uf = vertices->U>>16; - *fDataPtr++ = uf; - - vf = vertices->V>>16; - *fDataPtr++ = vf; - zf = 1.0/zf; - *fDataPtr++ = zf; - itemDataPtr = (int*)fDataPtr; - } - *itemDataPtr++ = vertices->I; - vertices++; - } - #endif - while(--i); - } - } - - /* Write out the Item Terminator */ - *itemDataPtr = Term; - - currentItemPtr->PolyPtr = outputPolyPtr; - - outputPolyPtr->PolyNormalIndex = inputPolyPtr->PolyNormalIndex; - outputPolyPtr->PolyFlags = inputPolyPtr->PolyFlags; - outputPolyPtr->PolyColour = inputPolyPtr->PolyColour; - - ItemCount++; -} -static void GouraudPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr) -{ - int *itemDataPtr; - - itemDataPtr = AllocateItemData(IHdrSize + RenderPolygon.NumberOfVertices*3 + ITrmSize); - - if(itemDataPtr) - { - POLYHEADER *outputPolyPtr = (POLYHEADER*) itemDataPtr; - struct KItem * const currentItemPtr = &KItemList[ItemCount]; - - currentItemPtr->PolyPtr = outputPolyPtr; - - { - - int maxZ = smallint; - int minZ = bigint; - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - do - { - int z = vertices->Z; - - if(z > maxZ) maxZ = z; - if(z < minZ) minZ = z; - vertices++; - } - while(--i); - - if (inputPolyPtr->PolyFlags & iflag_sortnearz) currentItemPtr->SortKey = minZ; - else if (inputPolyPtr->PolyFlags & iflag_sortfarz) currentItemPtr->SortKey = maxZ +10; - else currentItemPtr->SortKey = maxZ; - } - - ItemCount++; - - /* Write out the Item Header */ - outputPolyPtr->PolyItemType = I_GouraudPolygon; - outputPolyPtr->PolyNormalIndex = inputPolyPtr->PolyNormalIndex; - outputPolyPtr->PolyFlags = inputPolyPtr->PolyFlags; - - #if 1//debug - if (inputPolyPtr->PolyItemType != I_GouraudPolygon) - { - int c = GetSin((inputPolyPtr->PolyColour>>5)&4095); - if (c<0) c=-c; - - inputPolyPtr->PolyColour+=NormalFrameTime; - - if (VideoModeType==VideoModeType_8) c<<=6; - - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - do - { - vertices->I = c; - vertices++; - } - while(--i); - } - - outputPolyPtr->PolyColour = 0xff; - } - else - #endif - outputPolyPtr->PolyColour = inputPolyPtr->PolyColour; - - /* Write out the Item Points Array */ - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - itemDataPtr = &outputPolyPtr->Poly1stPt; - - do - { - *itemDataPtr++ = ProjectedAndClampedX(vertices); - *itemDataPtr++ = ProjectedAndClampedY(vertices); - *itemDataPtr++ = vertices->I; - vertices++; - } - while(--i); - } - /* Write out the Item Terminator */ - *itemDataPtr = Term; - } -} -static void CloakedTexturedPolygon_Construct(POLYHEADER *polyPtr) -{ - int cloakedU[] = { 248-8,256-8,256-8,248-8 }; - int cloakedV[] = { 1,1,8,8 }; - - int *texture_defn_ptr; - RENDERVERTEX *renderVerticesPtr = VerticesBuffer; - int i = RenderPolygon.NumberOfVertices; - - - /* get ptr to uv coords for this polygon */ - { - int texture_defn_index = (polyPtr->PolyColour >> TxDefn); - texture_defn_ptr = Global_ShapeTextures[texture_defn_index]; - } - - VertexNumberPtr = &polyPtr->Poly1stPt; - - while(i--) - { - renderVerticesPtr->X = RotatedPts[*VertexNumberPtr].vx; - renderVerticesPtr->Y = RotatedPts[*VertexNumberPtr].vy; - renderVerticesPtr->Z = RotatedPts[*VertexNumberPtr].vz; - - renderVerticesPtr->U = cloakedU[i]; - renderVerticesPtr->V = cloakedV[i]; - - renderVerticesPtr++; - VertexNumberPtr++; - } -} - void GouraudTexturedPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) -{ - POLYHEADER *outputPolyPtr; - int *itemDataPtr; - int drawIn2D; - - struct KItem * const currentItemPtr = &KItemList[ItemCount]; - - { - int maxZ = smallint; - int minZ = bigint; - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - do - { - int z = vertices->Z; - - if(z > maxZ) maxZ = z; - if(z < minZ) minZ = z; - vertices++; - } - while(--i); - - if (inputPolyPtr->PolyFlags & iflag_sortnearz) currentItemPtr->SortKey = minZ; - else if (inputPolyPtr->PolyFlags & iflag_sortfarz) currentItemPtr->SortKey = maxZ +10; - else currentItemPtr->SortKey = maxZ; - - drawIn2D = (maxZ*4 < minZ*5); - } - - #if !Saturn - /* KJL 15:49:56 07/04/97 - draw all in 3D will become an option */ - if ((ScanDrawMode == ScanDrawDirectDraw) && (drawIn2D)) - #endif - { - itemDataPtr = AllocateItemData(IHdrSize + RenderPolygon.NumberOfVertices*5 + ITrmSize); - outputPolyPtr = (POLYHEADER*) itemDataPtr; - - /* Write out the Item Header */ - outputPolyPtr->PolyItemType = I_Gouraud2dTexturedPolygon; - - /* Write out the Item Points Array */ - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - itemDataPtr = &outputPolyPtr->Poly1stPt; - - do - { - #if 1 - { - int x = (vertices->X*(Global_VDB_Ptr->VDB_ProjX+1))/vertices->Z+Global_VDB_Ptr->VDB_CentreX; - if (xVDB_ClipLeft) - { - x=Global_VDB_Ptr->VDB_ClipLeft; - } - else if (x>Global_VDB_Ptr->VDB_ClipRight) - { - x=Global_VDB_Ptr->VDB_ClipRight; - } - - *itemDataPtr++=x; - } - { - int y = (vertices->Y*(Global_VDB_Ptr->VDB_ProjY+1))/vertices->Z+Global_VDB_Ptr->VDB_CentreY; - if (yVDB_ClipUp) - { - y=Global_VDB_Ptr->VDB_ClipUp; - } - else if (y>Global_VDB_Ptr->VDB_ClipDown) - { - y=Global_VDB_Ptr->VDB_ClipDown; - } - *itemDataPtr++=y; - } - #endif - #if Saturn - *itemDataPtr++ = vertices->R; - *itemDataPtr++ = vertices->G; - *itemDataPtr++ = vertices->B; - #else - *itemDataPtr++ = vertices->U; - *itemDataPtr++ = vertices->V; - *itemDataPtr++ = vertices->I; - #endif - vertices++; - } - while(--i); - } - } - #if !Saturn - else /* draw in 3d */ - { - itemDataPtr = AllocateItemData(IHdrSize + RenderPolygon.NumberOfVertices*6 + ITrmSize); - outputPolyPtr = (POLYHEADER*) itemDataPtr; - - /* Write out the Item Header */ - outputPolyPtr->PolyItemType = I_Gouraud3dTexturedPolygon; - - /* Write out the Item Points Array */ - { - int i = RenderPolygon.NumberOfVertices; - RENDERVERTEX *vertices = renderVerticesPtr; - - itemDataPtr = &outputPolyPtr->Poly1stPt; - - do - { - float oneOverZ,uf,vf; - uf = vertices->U>>16; - vf = vertices->V>>16; - - oneOverZ = (1.0)/vertices->Z; - { - int x = (vertices->X*(Global_VDB_Ptr->VDB_ProjX+1))/vertices->Z+Global_VDB_Ptr->VDB_CentreX; - if (xVDB_ClipLeft) - { - x=Global_VDB_Ptr->VDB_ClipLeft; - } - else if (x>Global_VDB_Ptr->VDB_ClipRight) - { - x=Global_VDB_Ptr->VDB_ClipRight; - } - - *itemDataPtr++=x; - } - uf = uf*oneOverZ; - { - int y = (vertices->Y*(Global_VDB_Ptr->VDB_ProjY+1))/vertices->Z+Global_VDB_Ptr->VDB_CentreY; - if (yVDB_ClipUp) - { - y=Global_VDB_Ptr->VDB_ClipUp; - } - else if (y>Global_VDB_Ptr->VDB_ClipDown) - { - y=Global_VDB_Ptr->VDB_ClipDown; - } - *itemDataPtr++=y; - } - vf = vf*oneOverZ; - { - float *fDataPtr = (float*)itemDataPtr; - - *fDataPtr++ = uf; - *fDataPtr++ = vf; - *fDataPtr++ = oneOverZ; - itemDataPtr = (int*)fDataPtr; - } - *itemDataPtr++ = vertices->I; - vertices++; - } - while(--i); - } - } - #endif - /* Write out the Item Terminator */ - *itemDataPtr = Term; - - currentItemPtr->PolyPtr = outputPolyPtr; - - outputPolyPtr->PolyNormalIndex = inputPolyPtr->PolyNormalIndex; - outputPolyPtr->PolyFlags = inputPolyPtr->PolyFlags; - outputPolyPtr->PolyColour = inputPolyPtr->PolyColour; - - ItemCount++; -} - -#endif \ No newline at end of file diff --git a/3dc/SMACKW32.DLL b/3dc/SMACKW32.DLL deleted file mode 100644 index 7ea887181f34ab10ade25d5a80502d33b58133c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95232 zcmeFae|(hHwf{TGOdvvVMjdq2sAD^}(L{|V_J9-G03pPRIN?XaX%Wz3PD~LgOn|l& z6DJ9IvKgeO)Y{f#rP%wm)v9eh=Zig75NXZOT)J<4cFW_JAC^c zi*LPR+_*83Eb7=ak7q{SXisy=KxMAAgPzkb9-HS2dd|%Ac;>mOfo(hkKsjj&DV*=p ztpw3;|2;rHkxRdvr)>UFP-TanZnV52&-2C6BrnSIELQfiJkRrrzyDubo+mK={fYlL zUUf^J=YS>k!^>U~zjbw-to&#A5q-O|Pae5{VW?X;cjoLl)8@^2{IjGU1ZDuQ03-f| zDR;&4#W%-q_ISQKh79qji08*nCZL*Oy}~W#dFmqatI0o)=M^6)*L%fnZo!|9B_AGH ze03jEZuyGkU!aKP9X#|D5}EUXa@AKXzjetS6ny<`^5Ll`#B=@!%1t5l|Nr;@AqRfY zyxj8$@E^c-;053SkOuw=90yLjZMo-6;9TG`;2K~OPy@^W<^neXUj$YGZGZ#(EASm) zGw?&;31A!WEbub$e}F##e*umFCxF71<(?1_0ZM@iAPP(Yt^?)+w*f1GyMPVAeZc<$ zo&dH1&jSa5-vMs|$AHmaqz}MFKp8Lrr~&GM1;7#@4zvN^0=^GC3Ty-R0IvYQ1KtF@ zOO|`a0mZ;2z?HzKff+ypun4#vXa(AU^}r_J-+=!G`~-Lkcm{Y8coq0Pa2PlScy5R1 zz*)eBz$bt!fr-FW;0B-pxEc5&uoAcv=mEY7Yz7_%o&bIUq=3D^e&BzA!@wZmSxP&= zSwJ!H37{O92uuZL0*$~T;EO;j&;}Ub9^m`HkAWwFUBF)8HQ;}M!@#@1s5{_0Pz-zm zCNnj`NOJG0n25<;C0(h4*9>7Jw6~I3M zQ-B%3Jm41Kc3>577mx(*1vUde0{#Qo2J8X$0lx+Q2)qTn3;0$n_nZ!dfR6!}0TnDT0_OuC2QC9DfNOy%z-NJapb=OA{0p!YXa&9obOP&ve+9k^d>{A`@Dt$YKp*fN z@G|f^@ZZ1y@HTJ^@T^2Ofir;%fKLEd0uzAAz-NI5U?I>9ddVMAa5iuu@JXN?xE7cS zTo1&624FsLD{woo61Wp^fNucb1s((*1)c=91J48dfj5A^1MdL^UqQBjvw;hNPXbo~ z6M-qf^}rn9CZGve3akXy0$soc;9g)e@FU=-zz(2e$(KBTxY2X?me$*rES`Vc()g`Q z=C6n^yyKRZ`3t`g|MIe1uOR68u-v9)@jF(;m!C5K_FGmgxpnC&vsZm2_M78(G@Ys{ zd8<#A*Yt&z@l)mf%SYthw&EknxoyQqlY9FuAJJ795x-;A7gn5#uG?=>_Nj7Var}vFg@S4qyC^)@92+DtpyGsJ`kW>%)$Z=#|YqWv^^5Og&Z4 z7^*vNKV`pHeT4L^j^AQs4)m*2MX*4uAh_EGsw%Wpm9Txz;)>Efo_mi&YK zPgR}@|B74Vw=Q3P`zf=R+;Z!!rzGyyr8gtJr>eUuOWUdQMf#~pyZH-WxOK&dp)xfQ zUuSRp%EVwMep#Y75KBM%kjInQNn&e3MelZ>=cfU)yX_7CW&0}j^gQeB>yBkev^mf7 zFIzuAW?iPVFP0wrLtC9P%2s}nnGp$?Igw!EP?1v;@i;Rgz9dhQgU*~tVN7}TEuWp0 z8DI54$0ga^%ge|_}mKJ(tjWX+`+V}u}9pZ>vp9?wvfCNr)KBu&nZ8S~6d z3m1Gov9oY{VYdG>B89V|CeVIN-i+2ynC+Jw#?LY-{1&m$=Jg9`y?Ys0>oeo;qx%)T zpWhzvz_ws)R=pW-^I=rIxvN=CXU0E3Ar-Ogecm!B&^R~o?kIm}ACyxw3@3_XW}NEI zZC?F365AKMmBnD&X6Kvn78n#3qf%{)$kkrF-sa7nJ0Gl_ILzb1XED9~ z;DArW+fLByn9G2~NXIZ~LJ`qdXqC_C(}3fySe|+Mvq+&ED>g$W~Y|_vkKh!vD>_?irCY%mtMQ7D>30 z{NLQ({)an{XENP$B4>8K=I^|ka+&e3-;x(-@l^TF@4ZAkEbw^7c(&X(FE5Z8zsB;e zrD(R9w3t$v{U+UV`s~bp|6^(Aav@H<7g{+cRiL2UA!^^#GfvT$4{p(8t7w^M3#=&E ztduPW<}-o{O;TR#87(0&e!F!0zQHY-pR@Z(_UC8EX8dY$5`+1zMX7=Z zAdNOX17kLe{w<0(<|>(vNPuaHPCA`nAwkDYAr>TN?u!(;`J1Gc9Y*GWz4RQNE`Hd1`4yGykEc# zPv?=iH@P%#TbOWi+KC$ygT7T?%S1YhFYp9FB3dU^)3H^}?e89@%&J8_G~3Y|4-Yh) zlwa5W?r!B*yZNmX(&5uQo{nCB=PyVexD;xGp3P;9yi{}gZ4hs^im#NaqF3{zeWwI|d&rZ%nHmG}VcA*UJV_F}>gFsNSzdX2qkXMsCVe-7%0rs? z8|{lsg{RZ*x_S&apTIo1bDrroVnHlQD-y-7QdO zP9T|AS}Dt7c9s@8wE<^A&}_1UW@-b8-qDGJgHCNI+mx}B!WzI9Z9oz}Lp4Y*16+*t#v}DYA3icA88~O>5(0tqEv10d7}TRpVTPj^gn8={zDAe(rq76T9Yr^UaB@w zZA%6v7MrC~nx$=>E@`{;)IoSS_+;Csl_E7-(fjtprgnmvSy|fW)RvnDU*etocwvjD zAw3$^WNJ(7#9wt&#cNDZtD6Ry$I<~z-ZjibRDr22i_LD#{JL>=MaG@46Bm@lFH6q+ zbhcZNowITmwJ7Veg zj$|?}L)FSJPGm9-=}V7hGX2|7^#2fZ+f$J?CErl4ybUt z=77zN3ric2JD;_fDH}wqb;JlK?_W*6+VN!eX#}E5bh(OpxDjr#2t8$WOE$K(iWXW5 zvqHo&&_N*{y(HHgZ_Jcr=Ej8TMoSZ7E5(%D6ltSeY?isSJ~Ourb)ssRs-8lB=Orqz zCK9B@^GSL8;S?k;A(VW2jU_KRBNA#PF-$=ZYozMRBrx9knDJy{A+`5kq?y`cc^&;Ttkn~K;aK3lj#|_kmNJnl4PDnX*8v0U^D?~0eF~x@nbx1@QmH<+~7$Z z%f!EA7*r9{l2_jXn`wISq@U%j?2b2@(O7d6EIAw7RNbA2Eq`Oubug76Yh1JEPBA+( zzT2+9G_c|0(jMK=!$8K;H?CLIwUPauk4ZE}TZR^9^iSp4LgpTYVHuA0(k6{Tn4OBe}Wv43@-6>uJ2@xO0uQZ0!V(W%f5OBG2iPjn{JA zSmjZl+27!FHItHF1w&*`))v;G0jvm~-`iY5R^p(~Y><+u9=EqAlj%DcDDV)IZb`S( zaLcG1vhf?$Znc@TNzc5@e#+RN7Le6A-jWLy$x*gOGQZ-m{~r3w_32)I__C7AtflVDw2{PN~H)Ldr#0T^cn zn`1;8%{9LwmU*RlF|jRDC5@R^wrJWdTrh0EHZ(SS+8BvR#ZZbxc{okCGdV*b(7f8> z4UxG;rb0tzzqJh#gW=`NnmfpJn~BlRCbc7#U`r_FA*E<$52ZYzl!r#9>{QBwBU4^i ziZoZQ*1|0ZQOOH-qzXiW7%<#}576H{NcGHkQQWXaRs$64A&P^|zA0FWnepPx!Y$Gw z!m8{X*2JNb+3&}BpgBf~<`8u=Uws`3vgaKq+#NQs-ekTXuY*~Eg*c&Tb3X+Kng@K*G)F%8Y`u89;j zFf%JjY9w;jTz<}u?#5&qpXcuwcNPQtM5Kyb)Ab-C*}hA^7|8z4hv6bx%jRvekAf%2 z+i1S?I1f`8ebv8V9c3mvg~^^rlynBgYlP~)NF5I+-{d8Feb`nr6w7l$HclXr%ZRxd zL-9H9i_aqtw(60|P9FUcRTaG(oo{cY;r`k)Ddv)zYO5hdV`b`!SX8cbcYgkk3n>#z ze~6dD)C{QyoiYY8-87sL>Cc_g9%amG5Qn^D#$iz!p8SSuI{DjEO^8>8lHxScHgee0^ji+ zp6lOspAFSh@*xOlDt)%86r5!Gx9w9o(K~Clf7_;r`dmMYg5pAxcYS1;TZ)t=gl08) zchk0l{%w6R#BUBG+5gYuY!B?TeXXDa0_edL>T6;2IjlKC2=@4EclbMQ#GyfFRh0ez zeY8?w=N{Ya2Z-=^kcZKf34?x#wCxNWIA^FWBAPJ0G?y7aj~LDDRx>q}*yIKaqtE&~ z#)3oL)t-t8Ip3|=`8So#ie2|c$SlxL^tt#fwc&)^nWd&QtEewBX+!*lGOOtBb7xL{ z0QXRC=D5O}o5Rkx9|SA7&XzO46~M+(-1g%0(K z5rxqg{GERyB;zq$H7m>IhYiKFQW)sKkNa2Hx zbiU;8xSPDJxlBex6fIVvj>t|hLGe>OO8e-P8j5aTb3R$S-K^eRmKu$2|JrzlID+D6 z7G(s{!VeByMfpcm{ys}Th<2)9k63)k^)`=XYI2eDIiJ%~=u9c1LN7%sj-)))%kjmG zkOf$BmvY>(cZSC7<%*VHgO=UIFsp>QS=;LR7>nHmN|CFlug6Zik&U-tFew-R^+gODfL9 zj*C^+MGukP>XN%sgTSi9jtIuNI?&-VLc&K8tA$<96n^zJps;gbPGq&YSG`NTo7Y-o zy0sdRUo}ujcdNjVj9)dC+n%=bf6jeH3il2>u*a?p`kYZO) zS4Pxq#gRmB@iv;0%+7K9YafO1bv5gMjklNn2s5OslbQf+JP`?{lKqHXQIxLyq;Il! zyCTxtN#9iOGXoP5&NWJsDAi~2P+uir>?4*>OtkfpO{A!xCX4qOZ(pn-{fl#gudwn`|+dMq^s&t&q%* zOi22skWxvCWC=bJYbGY?!QWmBk8qSmdVehpPo1Z{8o0?AZqj_zK2L1~{`R;W}K z8L4W5=GW#!8jqD6|4Kh2wEqC3Xz^igf*grl|?&l@klv|F%rwX&k(8`V)UHoVSjSF*4iASWAJjmc=^ci3Jm}2h8R6h znRhGGGMc~oY`DLZnQ2p@N&M)1SW$}kHcpgkBgTWuOdR-mz?#*)A4#&y7okQsu zybamX;^qjp`rJlmP^NCEjF@Q4SZ;P4ln`Zwrdta6Xdg4CHy+4x*V~(weC9|{b40c_ z{-5U=g<L%%d_hh}T+>&R|9U+`3nc0gc zZI=t>G|mMt=>I#;KkC~$D34HP_7c*2`+rM1x-ystH|@B)azIh_EGy3_AB}TtHYaz} zLL^F>rGXAZ89O_liasoZkBy4--P~FAG5=$(i^{u;St!%hn~IsdSo*))k-W!n7f^p> zi|+0Zo5Hmhhb)cx*|zko&yJyMa99f6Wkkd*rhsd3Xk*_$gC;tANw*?e7xZ_0U)07T zD8I*D)(HWzI?|a%kC3RDsu-lHaP|RDh*`r|Wvz`LcJp22C)@ZB2@#ry65xB#MO&>H z3!z)hJ}{VxS+pu^Epri(9STYps}lQax00v^;RGdiM9SSn#bB9=SWHT`nAC1|icmU4 zGMGwKy2F~^U@B8$MF^NsCZRoDcL!&@x<;~7EqoK2;W^KXmWNk%} z#7U={Im`P?1+8_sJ3DIHEON0t&~NpO9iazAeb$^=A1ML@^l~_@M?kR-WY!k3501l# zS+Z5uj?nL26dyK1_X-i7L?PN_*Ha!o#W>mGLCf}mM_<^qxl>uo4G}RsLI+(;gG$5* zQfyP?xE>vmteLME2vo#kQnJOQb$ob)UMB`khm?rMRcuq_upS+ew410Hm{i1KQu5FU zfk~Q+8KPMw9_u-aWG%s#|CXTKs0i6?X0|)8)>~?`gJWls21i!D21kA|qGBb=VmzwZ z+F-{xwfIlaB&{80+GLH@Ie2{jFA^cZvi|F`!P@(*C6=Gq?xQ;*$T`DgV=^a)V|Jk& z%2OAH^VGlLn4P`y1}Rxvna}C?&6OENuXm%Ch-$7_`1~Dv|AHfCu)yE(%3C;ZFQb5~ zkmDC-dk4{n8R&Y`CM7F9`HeRELaB4`F^pmHsfncncv}d4&@s|81Fy-RxDHvhImvP$ zHsmAGIWZMW-1Ey4ifm`+Z2z?%^3h-uRxC=)9^(gyH_oldm<44`&U_usubr5j5jiJW z`)RYZvL_JzOLzTy_K+&m6U%hhpSZKgG)#!@Ut6#%&o|)RmFLNxXhq*$voFd05p7#! z(9bM%y5vDh94lzO%I*iv%rbM2CM%|6ZB+~({H*vHnep<~x}=J>9hvcRe~w6SDR+Mx zOgvI(x*oDfT0ds&kz~?W-FMI%OW*OjPNS5UD-l00Wj%qgz?15d+~}XvB`H~;J2nmY zlH!pf9oDo^LgL1_Wb3=-Ou*Fn>P^>H@@8QJ-!{N$lr1S-7RxY&mcGs-t)nV>m19rv zSe`d5QiF+OI_e@hGro=?Vxw@+Vx>p7`#1FsWey`F)P5*JiHbdTsLBa8&eaLlm5G=OB`w|Id8s-bFj6Q(NwFKL(QH!U7zlm-!-XwPDiDCe_>UDGqZ=r8^27D!>}XgAI&q8!t>R0nQ0cCwJD!#`d5;4GPWSl$E|uCCXN zt@L<5WNMY1a%vU2Q)^(9JEL+Z*j$Dyj3be-&Zxan(XwAWjb%d55>Kw-cA1AC%mrWD#EB^@!H->ZYAo@G?79@qQ+gQb#J zb-Ci?`!s6~yJsB8Inz-hZcPY#V#QShtteaySwDdjFne@8aC-JRDtB7;(*tldci`Qz zg9@@v-D4~IDOxxv&*wpE71OW(dzJw*Cu8Y2wfki)o30oM((7$DHiwwmAf=_vx(;Q{ z29+RU2dT@|XLi(dj%T{o*!pp9=y1MRn6hzDfqC`&auj!SI&wMb(lwgdin}?kri+h? zrT6Vu2c=O*2uVZw=OlAU%;(v-{GU95uK;%ey}&*oamZ&`$`v=XQjvS71$oQqrmXuX zi?;PN&Ko&uq=4yKOiQrJdU6h+CT$rrN#6Dt=Rqc&y{BY0)KF4$U&r2VJ;}B-D)nE7 z)h(X6)R;YlGrK@pCGQe5lCY5qu>FuU3`bOR(MOf)d&b}KS45ZXzyw8)#HTl8#?PP; z+Pv1k4eNnqd3m$iOFo$}>r!!yazp-AGz&(Miee|IWW^D()mP25GLP3B(Bw1I%j*5x z_S!i(i*t60(EW;+NRMt`TWap8e3H5zW_Td_>ow!d!U@setR2-oV^f8$M{TO`Oo{GY z^FOGG02GwDm%U<{UrQ0f9MFlI#3ET<^3d%AF1l&u55?vVl?V{j*@}PL^q_y+jiFdQ zW$WD9wwy#W*KN7BZQn2gtVLZvD_3u}mR-ifb(c1#KmU7oxc!}bPCmbYf_0i3%=ltE z!D%&U*KF#}5Ru#u<(xQ6A~Eh#h$wp;!-|ocA?RZj5`A;c<(eZL4dEwCq^hz-W;Z-7 zMdDtVaj(w(;DZXnRY($tq1&78{n^AJ{G%HsBmRzA5{)>{DKto}!q`um%(`gAz}h8@ z#wR5Ds?4iMM$r7Q2#m>@RTUZXL#XCED|#zl>Y19~Q=eZdCqy|o%8wqbc!_YBD^vA( zJyY{+j@%Pv*&JP_I-|#H)3yGT96bo5q8t`_KfuK zn)R$EL9D-GF_lGRGNf_kRe9Yt{)~V9=e1@)xB2IgnH(rRVCuPU5#77?Dw}v+!0fvY z_u@H7rV!2bOk<%l$FA$1o9WE7_N$P0pnBru;GHj`;wdu$?q@k|F|=p(%6Mk1)oav9 z*+i)!u|Bag!a^YZk51`)$?`jXo%xYuq~gfL<-xU86|eQorwda8JIbzW#hJS*eR}c;Eh!`E01x+i$)SjGnmjS+@ya?%r=s2eco$kM?!l^g*79 z6TX$`um$Zqm5L7Ayc*jP=lCVf6Q*!v9plHn6+kzBg`{oC<`-;*e;FI&rndCpFb?!$ zaf{F9aj3m_fnC4c7LFdEjl_w()-#cfWoHfRVpR2k||&>WHB@F?dmH(N^l8T$D8^ zR}?beSF|mQ)v`1j&JEY|3~piKP<7&1J_0f~ensM#KVF$Q7Uaq}4mDQTABLgn5h>8fT{vkK&b^s>knr_2G$*!bmp38BY-J))pBTZgK(AKFcCqzhWka!+!Q zj?opp{f8KaVAe+t^4PovDdkq^CpWhdfJJexf1bCwLlI60 zC_#M8=5D!@v}dizY~IM-bM!oLQ<@mwl+2|(|n5a z(^81KPB$jqqol^hMyA$N6h#xrIFDeKhiFcAckwLre6RAZ*~;&9rqe5(y#UQw;R{{FJ;#Loq&tuO*Ubn=--E} z;4&7p&0852bVMj2 zn+p@~Vv~NC*aIqCmDhR|a#_|gCN?|$W~+90Ma|_FX&FeB170mq&xjE~*?0Nio9c2X`!TuXC`qaoJ!hV(ZIEvL+=NwaUb{_6NJ!OwuB`SIa~ z|J}u2^H5v7aPxygS&OfUy~mm}`rgP-`kZ92&ABH+D+7f`Uv)MpWb7~76aUr+y7D}w zFX6alTGD1NL{KNKZ0VeS!{jrFq{(%%}9YI&9nI-GymVEX6xQ)T7^ z(@@1+SzGOW(KOU}pY`spZ%Aigwc>difBc~)ck z5{OLf3^k_9_8>X6m1cv)p+MD3cRMzs)O#cliQZ<8v}{nEUSK)BqvEwXc2UJ*xCX=A zljEFuC%SvZ70JnYWQWZG<43;~d-us3Bvl;Ux59^h3VHkSz|^%K>`x+3c-FvywjN_H zBH8;~UF#7^q+Wz8-QmO|k&4%7N%nhjboa`l&e!6FTEA=)y2KDHeQ~3yyo*rC`$9BD z6Zmnwf5ELh6{Dmq`u2*QJR`yx-Ld=vv%B=U$=+8@KFTQ+9i+G_rYU}1>z{-~V_y1_ z({&&HCmwb-JV2=0>3UEJ&m4W*>3T|XI)}NkE5G#)%GYsYx%G0>CHZ~QQ?3Dya~oIn z%rm^80p0m#H+uxKRutG0?R^<8sHy;7jUAmyB;2nKfUaYj2E7Q+kI z|K8pw*+Mekg?vk$|M`@IG~D%fty^MmuMIy$?>VEdp60S55~5N zVsnq^O4MsI zjT=Pf8enplty##?#D&(}R*AO0apoR1^zy;6OlO4#E~8OQ+Ad+KPlumD4DD5ZwS;U3 zQXTgwOaHRub>2*$Qe9zE)jOpg*_js~*O1mu9%|9EZ!7f@4}#7MR{?y=Ji?whTN;w$ zp@EA~BZ-6WCU)l!oMD6SC3gD;ct?fQV-6}t0j_xF$44gyeR2Q5g~oD-YjpwM9T|#* zksr%B`^$m|_ChYrK^KT=G&|#BGkmVU10fCYpO_ zQQ9|2a_e8eUl|vO37MD8AU6S|rCrCUx#w{ZG^?CUdMnUYbQ!p;y=PpZepIs$>TIqn z=+X3wGadIm7wdY>&E7SXjP^nQ28DzPI#qkOu{MNbV+iP#bSRXD0A`%_7P6o82CRH3 zA|&mW|H59DQc_I|KQdmrGM-gGNv4z>Xr7T&~(X=R=!W0*OP#)>LNA2+q}y zD+eqjRVpF=9>W3!0hHU#|3FtIDVjpysujSRnr{e`I$gTgm}bJT zCr;^v#rdC>-MbuH%CY&5&4~`KikO6GH%4O(Cv3W7so-_ZQBGoh7PHvs-CdeS$|}_j z@7~TgS$!-0ot4bk&G%x0X=&oM7 zU0sKB^2qkQ_(kaM!uqsEgS)HiksK_4TS>!$t{$1Bs@a74^dIb^?#sr_4=r_HmnmWX z?l$ZEoe3o}aA~Ki&C>*xcTy-+@4?T~GaUQ_Q*8eEHr_ z9oe31MKuoD8v0cYJ>41#4cE}ibLxv~9Ol{Hr(f03)2*Skc|GOHUNF4<15Q+r>}ZQmY5U!s z(@yMY|6PW4-aOa-h8%#&;B^S|nb}Cyb>>-g+s0(PDrg2#anD*6*ObSl1n>5N)kk(z z$3N5dyU!$^$^Q^UNWcx5$H?B#dYqTMrtS+g^+MW+( zWEUCtypz+dt~kYHX8(Xf$+b(^S@(&74;yRYB{KLJdPp!GPg@(Uu8i&M8X0dM?>mXi z=oRND*V~+}Y$iRda1!vmDV#CXwZ3h2Wpr=rjO3%L{GTdfzQ$Qvys{Bb6?!{0oyD8P z=|#@;LUUu-G?tX^a~exh(<4exO%J<|GCdN{_^xl=#+4CkI6w#X>+6tjc;VdVedjth zTh@e<#^FG4uNdG>Ep&}!G|=aFxOTGHU{|cc=&|MVOxGePO9u0z`&O3ETp&XZc)N-;syjCS;|aj{Xmd20!=cHLv!x3MhU*5b!( zS6|ah-m%ARvNo)uZn(PlX-^n3`H+hl)A>Sc(TQH~k*d+l|Mqxh!H%P^eEcov>XAA) zaVWI;A-m$*0~kJJ@SSq@yRT_i%Hd1-FGQrNxxY^SoNCP1bo>7xwk(3JW3JBbtU^1? z?uwWC`iuM07qq>R7s>0{%i&d@U1nKnl2h`Sl|eJ9Q?O%hrpVMJxM( zzpEF8TT}uiKN9m(_e;W%UJQ2kRp4UlV6ppH&}h*M^c@^SP}^tu7{hkmE7lD&TiKax zkHPxhIL&mp33Vme5NzT$PH|uVY2If??slCzK5<~nn$@91Z-`?x2wgEMrJVv-S=_AY zAqMQ(zggNP=Ghu`g-#u>O1Nd}ik#t$kO?4ubu1A!GcnO~QeWwbGdY-}`nI}kh;D@- zH0Vr@O%`l*=6%E<=0sI}mrGl9nNa@u) zLf6O4SBuOSCy-sNOH?nFzSsWWZR9v#Eu0u#S?m33h){Nu^Jq~48oR%BEbWwNjn+>-9?veE`HeW3I2lb~;!0az}rmA-# zbA8y%mUf+8lA0QZ1dlT{Vx~?gea3vX%sc3OwQTd_3^ECoejYzlIhb z$U4bO*$WimByULXUSPMrW|H-7*J-P}Uzsu9YoBLhL!uS0P1@M*x!X+3wdtHQXglm3$G6eupXx$YUH zIew1)DXYS#$~Iz@$+n4YoHq+W8>O;xbb&> zruu5ZoUqPx>xs8Vk#9fTI;tW4Dh0A5}gNdJi^x+8wU z-1L_Tlh|{>bc*UrJc&zVk_FaC~=)Z~h)-*i4ecC}+417AyZ77~@5nQ!hE z%`e4gnB-1{_QcDvyXx}WkF}8r0Gqv1IosU4Bp4CpN zsq^U_dU~Gx9B&aM#d2xtglO8I_%CH%j}hzd_!U8vA9z^}XaUriGePewG*DRDS1Rj6 zj-8+|Jx1Zo)XJ>ZU*SXJpVteS!AP6;#pnwwudjHi^k~oSp1mij^A}uo{(`H{R}`74 zzS6_0<$cRUd!GH!vgmvkaZvU5>>gSdv_rurw_B4Ri6(P>gkj}pYLPRwXyR1gszB+~ z5JC5F32LRNi%ngfeOIR~j;b#**ZX4Tta___I7wkCnk%P!`f2<@Eb#;LwW7`TC4E;$ zx39dmbU*9}p>FN|NE;*bYjxy7v%&|m(pOAW!_5myhm-N243`=RsGiYMMrG>R)$Bo+ zYTls2TBQTLNp*c$9!t~IB7$xgM!8*Zh3=oNvB!LGdp8rW=322U6Pv8qC4KF(8}S&8 zu6VQmIh+PZtLx}+2umeGY$D;L<52 zsVQO0t|?{Cl!)t(3!UuEcwXP@<9_Jyda%H3u+wr+>m0M8PE&GEYr*4r+G2EAo5Ix1 zK(!QHtz8G&+qEV%x6OLj*sb;0Kpb(! zjp=H{nK_tMwRc;k8jpneXwoRNPU=A)HM)C~0y7KEx1?L0h9a|08c~OqcRy&eLT24E z0_J=7^2_N|ZLzs~watl`bq^^}8+MC$*C{<-VeXbAlvz=P{S-h~a8=KGn{-}jXA0a8 zSgX2-lg`=_zKTEidHNR}SaF&8mMDiCbSAnlex~!7 z=y$#)ik-Wa=X_7K20mf#R!;P}74TN2-I~-Xa=vHl+^st1?)CiA@};t3^J#v!`IeGO zpEcimkY{S0V*2NO)v+n&?ryirCv#P7g87yPF11dX`X^7FW7CFqey&ux@@(()w^NSy z7Tke3%Qez&s&=enz%KLe)6Na)Z5Vn8VAiyCx8V2xO5F=~Pc}=7IG1n@XPX%9U&-~} z0p4DqPDA?YLpJa}q+F!R?hIV|5{D+_{NIte7_l?(fmcWW?C`$z0mB~I2vg&r?3;W zd+a3;p+HzS^7fc%g^9j=qQ$P=0UjM?1jS*VRXp^p1eHEa#W~UWxsUMSFx}TrO(B~= zz2bp#N`yV}OOwHyRF77R`PAKfE?3Q=1TkSQ%wn{*<_$hH*93FS|Ja&H!2j6%$eg5a zmUobvRo)c(AWW^QL?-Y2jM?sg3=Hjm^e{Z$9ewFQd&#soCqe))Su+IFC+&ImR@elQ?+X`wqxsPV!!{sdJNl*I*pL8D6C6+)W&FX}d@4 z3=C+`%ReqgN6Z8~JQqe!tURMxr@Re~>Gx(!WfcvawqkV7VoJ(nL#c*$<#~=;i%zWJ zYn|Qoc_1mGnZyDcne7Xr{ zuY=3#cu1w+l`*>VmL{;2CwlXnoVpV^%0x|*DH3&s`d&r|f}pav9`dS)mo-pfmfIeU zRjaZ3So*7=g~n{Ng;3IeHAz&c@;)bvFVExe`X8pu$TlmEG^LOh%YYkvvmimtn9xWI zG&x~by}iQ*_6uB8HMHOeH`RFm3c^#K_cA;u#v>(8VSI6uD5cF{^o96R2nS=C9SMjp z88RcR5h0gov2mFrgF!FM)L<5^iIjNX0Y$Ovo+UL1(lR8kB>L>~hX>A~4vC;;BI+k- zFJ+W9RlEdYBl-`HNUrOv&TN`u#qVdyBimZURL*RDO&7v(x z3GrcE*m0#K zl(3$h#j}RmCBu9wQCX5E=&E;lviKXuvNOy@AzTCQ-O4a>+BpxS$;t}!G^MKZF`B3oP@1s4*!Absa2_nlq|3p^CVCp2+vKc1VP0rLTbGc*WRaLB%l=Ig3l(7! znWir`nSBbC{@RVd-Q>jHq2zIjXd1uRRQkeAs+n_L+66*;C0!*Ha-EMxqW{O=@gI^> zh~$1DXPvn%;RB@deQQWI2`PMIv;dUuzGkH8%*0I413z6$F z3GIkn{eI@YewE^QUIIbEfwNq-uEi)Mt-WuFHHT{4)nsTTLB~j`U|~};JS*ME%cb

PsNs0f?i=T!-Rh6Dd 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 F{{YzjiN*i` diff --git a/3dc/avp.rc b/3dc/avp.rc deleted file mode 100644 index 20027ce..0000000 --- a/3dc/avp.rc +++ /dev/null @@ -1 +0,0 @@ -AVPICON ICON AvP.ICO \ No newline at end of file diff --git a/3dc/avp/shapes/vssver.scc b/3dc/avp/shapes/vssver.scc deleted file mode 100644 index 9fc571b8ca478f7ac370783b2c61b9cb3d5f826c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 ycmXpJVq~}wb9<3O(M7>V2?mA(nl7Kj-%N4hW@Z2bULehs+k7YX>Si@opa=k7xeW3E diff --git a/3dc/avp/support/vssver.scc b/3dc/avp/support/vssver.scc deleted file mode 100644 index 56e258188f4753d937de6b3bfeb72f0ee5743e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmXxiOGsNm6b9g4U1e3xB2qWL zKqwSZyU^B6Q4mViTCGs4lmx1vaiicPib54ZaO3|Aa~E^xyXVZDnYmMDh>=iJWYY3B ztnW36EEm^Z)(jn*QXa_tlZLlH-KA+;b44-uk`9+xmp*C-fnquXuD=L+=vY_}cQ202 z)A6tY4%Wvd(&&m2jeBnYDV+*Gg4?!MXXs=&6OPy{voz;7!G>>+BbxJP!5v@g)?0l# ze*&BhFB)^QRelcqJnhD%{Rlr{elDCc&^4j_7#{3x^U>%^9-1|C;3duVn&FCH$I~?H zTj0NM^44h9v%>EJ8$soK_~*H$lSWqx&^Rlvn$`G1cxsNVhYxP2g33dQBGK5MKeP_aY}mVF*w`yUgz!mJI6WSbI$MlY;_cbi~iRS&I!My z9b+H}jh4<&TO^ld{}BHF^PPeqT-IF`8#thIbvgbN2OsE-QI&e$nK1?41G_xT^wTv? z39*E~hpj%bku$Cg$HTIPeaC67D}t~W?r8eGgkFUBJ~*mkaItijjlM3N0B`+f!i`pg z6XDG1ai488ZeQXI{{Sah>iwH>b@)fPs`;O_v;~|5JEkrS7vsrr^{cRp^lZfU!!16N z)3hp_04LBXvZ8_ddE5RA? zv&>CRG^#=-iiV@rTWHQN3yyr^5rUo*t^Ik0U#g>n?ncRUS|7CoL#SD*+yaodw-eht+yp)fzn(H#DBWd0i}|gBpNv%u(d_RSY@-rUBvZ_iCc@RQaOds&jI(_W zyi;?aHptj0*bP1o$K{q7N!2w>xL;(jf%kr6n(O@&tZf!sLZd32K(Qz?P)qblSZ=45 zNHf2uVC5_B3&nUX{HS?2F!;~kq%#n&gB@?LQ4{0!aLTvGD<7K|E}f6~X?W@MbyZRe zUt>ME0j`fPzx#Mz=y){zGn{OYTf#W^^BLGOLcf5X2A_rH)>Hjxu74xkvE8qdW`3LC z@7;DgFh9j`Gwk~yD~R#Ma0~or-IWoV>)Q%npV|5u&3ya<|FQk%=k9(tN%H)~vZEr%@Hop*XgpGmp-P&%>^V-ie^S;Z8XIhNOO2yJ*rM zz5w^$GxrtS{|cw>PP7u;1qW2!AE5dFy5Zu`+Jxyj_AwvA7vawEJ|Ah!OH z@x+Feq94Ex@{94JAHp9*?dcuuQy%7d8-%?YEdSS@`*{c+cP%#M^9$ie@X2W%Jv8^{ zW7zve+X(Fp55pzNZYOB&*QfBZk@9b(cEM(R{u!(}XTc)+eRu?ZXRCP?jjHe*g~79m zPeqTy1z9P6E8{;^nU44ixV|C6n{gxfC9GDhw?^70o5%c(!R4h(CTUcKaTG1vi}kr4 z{-{sjS9YdF$~gN=#w16h;!W6}HoPCso~%ouxjqNs@}dJyJa2rT9D*|n;%aI3Ukqzs z&}-s)asQRTpO0UgC9Y>94!tDCYLe%{4DlxTuW0>MeBU_0?eI2-FJFoGPX|0A3sw-{ z|8n@?qO)(YJ@e;^ODouUXs0-SH+cO=D%Lc|>j9@73AiP`&sW2yUrlVInI9kcm!P0H z-oIR*kKjC~Qg52)>pnV3Z}S}HePaVZfFqWS2J-&k{p_WMZvf%F3UPhcz{6EuHZ=RU zLlU0_f3lq47wB4820vW=ML5m#BZXyG2U9tJ`eRsQars*`^ScucSdqJ$&vQJxU=JOg zv!ab~$=vSuFXwnT-8Jo3E6!oO}h-1MSpQ}+T`1B>2btua7EVJir7ST8`*KyyCUNTSkO?EtPfrY1<>e8--Cas6MRldcQrv$-A|&m^2Pb3lvc zep8%>b5kJiW3JyhI5;UOL0lg%Q$g6Vr^boy%Jqbn)7dgg~es(c^-M6w!(F1>>Ne6 zVG(i{)Vvn+-406bTch~>!T#&9$?uxyL=R^T9>7$D z)9}${^Obns`2JmMi|?Bq*)usF&L_bR-veD;CR}gsk3_gLTq9X@7dFYXybVdr7w<0> zPeJ%jNung~cUAbTy-}x_&!1qwz4lAQ{LS?jgw2WCsV@v%c{Bu5IM*@Sn&*rA>2G?q BFjN2l diff --git a/3dc/avp/win95/Frontend/vssver.scc b/3dc/avp/win95/Frontend/vssver.scc deleted file mode 100644 index 632f148b7860ae9f4a83cc763d790f29a29e03b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmXpJVq~}wb9<3O(M7>V2?mA(nl7JiJg;e)4rGJC3?O|i=YQqd=h5kEK>kc1pSyHY ztd!sOy~05LEFk~c#Qc2EU0XQAfc)7&ew67c7LdFqkUs~=_tF*1+5GKek|2;j7sy}Q zfA|kbeJzkb56G|FIByC_-WSNvR%KuaN;t#~;`0FcIob>ilVo3?jjgIM-~;k=f&8TH jFIIy1;z0guW1xA~QpZ8+g@F7wK>ojt2K6957myDC>eETK diff --git a/3dc/avp/win95/System.bak b/3dc/avp/win95/System.bak deleted file mode 100644 index e0bd69b..0000000 --- a/3dc/avp/win95/System.bak +++ /dev/null @@ -1,353 +0,0 @@ -#ifndef SYSTEM_INCLUDED - -/* AVP - WIN95 - - Project Specific System Equates etc. - -*/ - - -#ifdef __cplusplus - -extern "C" { - -#endif - - - -/********************* SYSTEM, PLATFORM AND GAME************/ - -#define Yes 1 -#define No 0 - -#ifdef _DEBUG /* standard compiler command line debugging-ON switch */ - #define debug Yes -#elif defined(NDEBUG) /* standard compiler command line debugging-OFF switch */ - #define debug No -#else /* default switch */ - #define debug Yes -#endif - -#define SuppressWarnings Yes - -#define SupportWindows95 Yes -#define Saturn No -#define PSX No -#define platform_pc Yes -#define InterfaceEngine No - -#define Term -1 - - - -/******************** General *****************************/ - -#define SupportFPMathsFunctions Yes -#define SupportFPSquareRoot Yes - -#define GlobalScale 1 - - - -#define one14 16383 - -#define ONE_FIXED 65536 -#define ONE_FIXED_SHIFT 16 - -#define Analogue Yes -#define Digital No - - -/* Offsets from *** int pointer *** for vectors and vertices */ - -typedef enum { - - ix, - iy, - iz - -} PTARRAYINDICES; - -#define StopCompilationOnMultipleInclusions No -#define UseProjPlatAssert Yes /* assert fired functions are in dxlog.c */ - - -/*************** CAMERA AND VIEW VOL********************/ -#define NearZ 1024 -#define FarZ ONE_FIXED - -#define SupportMultiCamModules Yes - - - -/************* Timer and Frame Rate Independence *************/ - -#define TimerFrame 1000 -#define TimerFrame10 10000 -#define NormalFrame ONE_FIXED -#define NormalFrameShift ONE_FIXED_SHIFT - -#define UseAlarmTimer No - - - -/******************** Clip Outcodes *****************/ - -#define ClipTerm 0x1fffffff - -#define oc_left 0x00000001 -#define oc_right 0x00000002 -#define oc_up 0x00000004 -#define oc_down 0x00000008 -#define oc_z 0x00000010 - -#define oc_pntrot 0x00000020 -#define oc_xrot 0x00000040 -#define oc_yrot 0x00000080 -#define oc_zrot 0x00000100 - -#define oc_z_lt_h1 0x00000200 -#define oc_z_gte_h2 0x00000400 -#define oc_z_haze 0x00000800 -#define oc_clampz 0x00001000 - -/* Outcodes can be cast to this struct */ - -typedef struct oc_entry { - - int OC_Flags1; - int OC_Flags2; - int OC_HazeAlpha; - -} OC_ENTRY; - -/* now defunct - see next four defines*/ -#define Hardware2dTextureClipping No - -#define Texture3dClamping No -#define Texture2dClamping No -#define Texture3dSubdivide No - -#define SaturnHazing No - -/***************** Angles and VALUES ******************/ - -#define deg10 114 -#define deg22pt5 256 -#define deg45 512 -#define deg90 1024 -#define deg180 2048 -#define deg270 3072 -#define deg315 3584 -#define deg337pt5 3840 -#define deg350 3980 -#define deg360 4096 -#define wrap360 4095 - -#define Cosine45 46341 /* 46340.95001 cosine(45deg)*/ -#define DefaultSlope 46341 - -#define bigint 1<<30 /* max int size*/ -#define smallint -(bigint) /* smallest int size*/ - -#define BigLowY 100000 /* Must be bigger than any Screen Y */ - - - -/****************** BUFFER SIZES **********************/ - -#define maxvdbs 1 -#define maxobjects 750 -extern int maxshapes; -#define maxstblocks 1000 - -#define maxrotpts 10000 - -//tuning for morph sizes -#define maxmorphPts 1024 -#define maxmorphNormals 1024 -#define maxmorphVNormals 1024 - -#define maxpolys 4000 -#define maxpolyptrs maxpolys -#define maxpolypts 9 /* Translates as number of vectors */ -#define maxvsize 6 /* 3d Phong is x,y,z,nx,ny,nz */ - -#define pointsarraysize maxpolypts*maxvsize - -#define avgpolysize (1 + 1 + 1 + 1 + (6 * 4) + 1) /* 3d guard poly*/ - -#define maxscansize 8 /* e.g. Tx, U1, V1, U2, V2, X1, X2, Y */ -#define vsize 3 /* Scale for polygon vertex indices */ -#define numfreebspblocks 1 -#define maxbspnodeitems 1 - -#if 0 -#define MaxImages 80 /* Was 400, but now we only have one NPC in each image group */ -#define MaxImageGroups 15 /* Right: One for the ENV one for the CHARACTER, one for each NPC (max 4, though only MPS4 ever has as many as 3 at present) */ -#else -#define MaxImages 400 -#define MaxImageGroups 1 -#endif - -#define oversample_8bitg_threshold 256 - - - -/************** Some Shell and Loading Platform Compiler Options ******************/ - -#define binary_loading No -#undef RIFF_SYSTEM -#define RIFF_SYSTEM -#define TestRiffLoaders Yes -#define SupportFarStrategyModel No -#define LoadingMapsShapesAndTexturesEtc No - -#define pc_backdrops No - -#define flic_player Yes - -#define SaturnCDQueueSystem No - -#define DynamicAdaptationToFrameRate No - - -/***************** DRAW SORT *******************/ - - - - -#define SupportTrackOptimisation No - - -#define SupportBSP No - -#define SupportZBuffering Yes -#define ZBufferTest No - - - - - -/***************** SHAPE DATA DEFINES************/ - -#define StandardShapeLanguage Yes - -#define CalcShapeExtents No -#define SupportModules Yes -#define IncludeModuleFunctionPrototypes Yes -#define SupportDynamicModuleObjects Yes - - -#define SupportMorphing Yes -#define LazyEvaluationForMorphing No - - - -/* Default Scale for Shape Vertices */ - -#define pscale 1 - - - -/***************** COLLISION DEFINES*************/ -#define StandardStrategyAndCollisions No -#define IntermediateSSACM No /* User preference */ - - - -/************** TEXTURE DEFINES*******************/ - - -#define LoadPGMPalettesFromAnywhere Yes - - -#define maxTxAnimblocks 100 - -/* Texture usage of the colour int */ - -#define TxDefn 16 /* Shift up for texture definition index */ -#define TxLocal 0x8000 /* Set bit 15 to signify a local index */ -#define ClrTxIndex 0xffff0000 /* AND with this to clear the low 16-bits */ -#define ClrTxDefn 0x0000ffff /* AND with this to clear the high 16-bits */ - -#define draw_palette No - -#define AssumeTextures256Wide Yes - -#define remap_table_rgb_bits 4 /* Gives 4,096 entries */ - -#define Remap24BitBMPFilesInRaw256Mode No -#define Remap8BitBMPFilesInRaw256Mode No - -#define SupportMIPMapping No -#define UseMIPMax No -#define UseMIPMin No -#define UseMIPAvg Yes - -/* Jake's addition to mip-mapping */ -/* improves resolution of mip images chosen for the scandraws */ -/* 0 is the worstt resoloution, best anti-aliasing 6 the best*/ -#define MIP_INDEX_SUBTRACT 1 -/* What to do if the images are not the most suitable size for mip mapping ... */ -/* Set this if you have inappropriately sized images and you want */ -/* the mip maps' sizes to be rounded up eg. 161x82 -> 81x41 -> 21x11 -> 11x6 -> 6x3 -> 3x2 -> 2x1 */ -#define MIP_ROUNDUP Yes - -#if 0 -#define num_shadetable_entries 256 -#define shadetable_shift 8 /* 65,535 -> 255 */ -#endif - -#if 1 -#define num_shadetable_entries 1024 -#define shadetable_shift 6 -#endif - -/* - 3d textures - This defines the amount by which we can scale up U/Z, V/Z & 1/Z - It is defined in terms of the maximum UV size and the size of an int - A value of 10 gives a scale of 31 - 10 = 21 - 1/Z, the critical value, reaches 0 at 2^21 = 2km - Since we know that z STARTS at no less than 2^8, we can increase this value - by 8, giving 2^29 - 1/Z now reaches 0 at 2^29 = 537km -*/ - -#define support3dtextures Yes -#define int3dtextures No /* there is no D3D Zbuffer support for int 3d textures */ -#define SupportGouraud3dTextures Yes - - - - - -/*************************** WINDOWS 95 *********************/ - -#define SUPPORT_MMX 0 - -#define MaxD3DInstructions 1000 // includes state change instructions!!! -#define MaxD3DVertices 256 - -#define optimiseflip No /* unstable at present */ -#define optimiseblit Yes /* unstable at present */ - - - -/******************** PLAYSTATION ********************/ - - - - - -#ifdef __cplusplus - - }; - -#endif - -#define SYSTEM_INCLUDED - -#endif - diff --git a/3dc/avp/win95/gadgets/gadget.bak b/3dc/avp/win95/gadgets/gadget.bak deleted file mode 100644 index 22076bd..0000000 --- a/3dc/avp/win95/gadgets/gadget.bak +++ /dev/null @@ -1,206 +0,0 @@ -/* - - gadget.h - - Base header file for Dave Malcolm's user interface "gadget" code. - - Note to "C" programmers: look at the bottom of this file - -*/ - -#ifndef _gadget -#define _gadget 1 - -#ifdef __cplusplus - extern "C" { -#endif - -/* Version settings *****************************************************/ - #define UseGadgets Yes - /* If this is set to No all gadget code collapses to void macros */ - - #define EnableStatusPanels No - -/* Constants ***********************************************************/ - #define HUD_SPACING 20 - -/* Macros ***************************************************************/ - -/* Type definitions *****************************************************/ - #if UseGadgets - - #ifndef _projtext - #include "projtext.h" - #endif - - #ifdef __cplusplus - - #ifndef _r2base - #include "r2base.h" - #endif - - class Gadget - { - public: - // Pure virtual render method: - virtual void Render - ( - const struct r2pos& R2Pos, - const struct r2rect& R2Rect_Clip, - int FixP_Alpha - ) = 0; - // Render yourself at the coordinates given, clipped by the clipping rectangle - // Note that the position need not be at all related to the clipping rectangle; - // it's up to the implementation to behave for these cases. - // Both the coordinate and the clipping rectangle are in absolute screen coordinates - // The alpha value to use is "absolute" - - virtual ~Gadget(); - // ensure virtual destructor - - #if debug - char* GetDebugName(void); - void Render_Report - ( - const struct r2pos& R2Pos, - const struct r2rect& R2Rect_Clip, - int FixP_Alpha - ); - // use to textprint useful information about a call to "Render" - #endif - - protected: - // Protected constructor since abstract base class - #if debug - Gadget - ( - char* DebugName_New - ) : DebugName( DebugName_New ) - { - // empty - } - #else - Gadget(){} - #endif - - private: - #if debug - char* DebugName; - #endif - - }; // end of class Gadget - - // Inline methods: - #if debug - inline char* Gadget::GetDebugName(void) - { - return DebugName; - } - #endif - - #if 0 - class GadgetWithSize : public Gadget - { - // Friends - - // Protected data: - protected: - r2size R2Size_Val; - - // Public methods: - public: - r2size GetSize(void) const; - - void SetSize(r2size R2Size); - virtual void SetSize_PostProcessing(void) {} - - // Protected methods: - protected: - // Protected constructor since abstract class - // (It's abstract since Render() remains pure virtual ) - GadgetWithSize - ( - #if debug - char* DebugName_New, - #endif - r2size R2Size_New - ) : Gadget - ( - #if debug - DebugName_New - #endif - ), - R2Size_Val( R2Size_New ) {} - - // Private methods: - private: - - // Private data: - private: - - // Inline methods: - public: - r2size GetSize(void) const - { - return R2Size_Val; - } - void SetSize( r2size R2Size_New ) - { - R2Size_Val = R2Size_New; - SetSize_PostProcessing(); - } - protected: - private: - - }; // end of class GadgetWithSize - #endif - - #endif /* __cplusplus */ - #endif /* UseGadgets */ - -/* Exported globals *****************************************************/ - -/* Function prototypes **************************************************/ - #if UseGadgets - - extern void GADGET_Init(void); - /* expects to be called at program boot-up time */ - - extern void GADGET_UnInit(void); - /* expects to be called at program shutdown time */ - - extern void GADGET_Render(void); - /* expects to be called within the rendering part of the main loop */ - - extern void GADGET_ScreenModeChange_Setup(void); - /* expects to be called immediately before anything happens to the screen - mode */ - - extern void GADGET_ScreenModeChange_Cleanup(void); - /* expects to be called immediately after anything happens to the screen - mode */ - - extern void GADGET_NewOnScreenMessage( ProjChar* messagePtr ); - - extern void RemoveTheConsolePlease(void); - - #else /* UseGadgets */ - - #define GADGET_Init() ((void) 0) - #define GADGET_UnInit() ((void) 0) - #define GADGET_Render() ((void) 0) - #define GADGET_ScreenModeChange_Setup() ((void) 0) - #define GADGET_ScreenModeChange_Cleanup() ((void) 0) - #define GADGET_NewOnScreenMessage(x) ((void) 0) - - #endif /* UseGadgets */ - - -/* End of the header ****************************************************/ - - -#ifdef __cplusplus - }; -#endif - -#endif diff --git a/3dc/avp/win95/gadgets/vssver.scc b/3dc/avp/win95/gadgets/vssver.scc deleted file mode 100644 index 092b64f156fdd9c6bd16d70eb03edbbccb319081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmXpJVq~}wb9<3O(M7>V2?mA(nl7In|DNzggP8#gG=X%wtHQZhad%@5pokWb&u_+5 z0^+j+`T9V<6YtwAFunnh?^#jT@#6lh6P!SKLm>Zg1Fs-R9>`=c0usu*mVX2BS%G|O zAYW=hq(6wy1mxQQ`6v5+E{E~$f&7}ctG}n{4*cO zKlQdY7Q|-(@)rR4_X}^hg4BcDyAa5ieso?7#0MJ1&_p9q+{3Ad<&kD{hAU@D&hND3Ki#J!+g7_fw0r16N=Kufz diff --git a/3dc/avp/win95/vssver.scc b/3dc/avp/win95/vssver.scc deleted file mode 100644 index cb0bd054ec8deb2ef009e17930193783464664b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmXxkeNa?Y7zXfzEE3BKEiQq%Q@F6;^0BMy?owl}IDm$tB*jOUn5ls?K<)37wREImb>7JBl+p5Y4|G)Zt(u*MnZ*Z{lQ5#!GRMs zJ8AA`K5RX9-!bkxdCe0x!yCN}*W~dFV4tDSzL#x*_lK)y%Hyr@*V21-**18^ve6cr z`NhJcCDp&voIe%LGo6wgwzg>I^CEnCPtZadUGWkc6XQAX53xOFn)}Oz7Y@g3@0?e->Gg21J2ZfC zj?aUo$t7px@f+Ykn|A|^u6PBFR(i0Cj)Gr>yXx%&ay%bS)tt^4wSAm(2=Uk8U;oQK z!8q3|fSZO&cF<~gBOD)Jca>(og>c&G^D**#uft#LQ#Lsc^ck7oCfMWQ!&QwZZ0oAw z&9HK(OV9WmcnjR6y9@`Bn{Y;5z%<5Ha4DRb8X82;fXm=EV}+eYSGfvqh9}Qau zXOB&K`M}%ZBhB7R9d(iOBjFveE5F4=Yv2m_&kvW>)42ZPZMc7tG?V7}t>p9NNqOTx zRau$OJFrtd@pn>7lh10{*BkG6aD58zvkq3lyS5%YN{7JFu&a0ZcdReZTMVqLh+aVR z{aE0L0@c>mAV~^?t?)j7y_TK}Cn|+VuRVM9*6!iM#qbKe#Knt>JmvG43}25>U6#*p zIzAH7;TH#K?tdFxlyY+Feqw4dhL6%gNp*qs^M%LZ;M(41xt={iSie4Y>OL^PUbwG% zv6=JnJRC)laxRv7cK@u}!26+{jqg=TR2c6!N+Zs|_paZ2f%TiR7H53_9wqC+@$Imb zYqZdeADJga_u;ecoS*A`4x60%?ec#1E*IjK`nW>2d8H6`tK!mK_cIfm&#&rH{TeG2 OYx(~DVb+f}!2bgTDS|ct diff --git a/3dc/avp/win95/winmain.bak b/3dc/avp/win95/winmain.bak deleted file mode 100644 index b85447f..0000000 --- a/3dc/avp/win95/winmain.bak +++ /dev/null @@ -1,834 +0,0 @@ -/* Main designed spec for use with windows95*/ - -#include "3dc.h" -#include "module.h" -#include "inline.h" -#include "stratdef.h" -#include "gamedef.h" -#include "gameplat.h" - -#include "bh_types.h" -#include "usr_io.h" -#include "font.h" - -/* JH 27/1/97 */ -#include "comp_shp.h" - -#include "chnkload.hpp" -#include "npcsetup.h" /* JH 30/4/97 */ -#include "krender.h" -#include "pldnet.h" -#include "avpview.h" -#include "scrshot.hpp" -#include "language.h" -#include "huddefs.h" -#include "vision.h" -#include "pcmenus.h" -#include "multmenu.h" -#include "menudefs.h" -#include "database.h" -#include "avp_menus.h" -#include "kshape.h" -#define UseLocalAssert Yes - -#include "ourasert.h" - -#include "ffstdio.h" // fast file stdio - -#include "davehook.h" - -#include "rebmenus.hpp" -#include "intro.hpp" -#include "showcmds.h" - -#include "consbind.hpp" - -#include "AvpReg.hpp" -#include "mempool.h" -#include "GammaControl.h" - -#include "CDTrackSelection.h" - -/*------------Patrick 1/6/97--------------- -New sound system --------------------------------------------*/ -#include "psndplat.h" - -#define FRAMEAV 100 - -#include "AvP_UserProfile.h" - -#define PROFILING_ON 0 -#if PROFILING_ON -#include "pentime.h" -#endif - -#if 0 -#undef PrintDebuggingText -extern int PrintDebuggingText(const char* t, ...); -#endif - -/* - - externs for commonly used global variables and arrays - -*/ -extern int VideoMode; -extern void (*UpdateScreen[]) (void); -extern DISPLAYBLOCK* ActiveBlockList[]; -extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock; -extern void (*SetVideoMode[]) (void); -extern int FrameRate; - -extern int WindowRequestMode; - -extern int NumActiveBlocks; -int HWAccel = 0; - -#if debug -#define MainTextPrint 1 -extern int alloc_cnt, deall_cnt; -extern int ItemCount; -int DebugFontLoaded = 0; - -extern BOOL ForceLoad_Alien; -extern BOOL ForceLoad_Marine; -extern BOOL ForceLoad_Predator; -extern BOOL ForceLoad_Hugger; -extern BOOL ForceLoad_Queen; -extern BOOL ForceLoad_Civvie; -extern BOOL ForceLoad_PredAlien; -extern BOOL ForceLoad_Xenoborg; -extern BOOL ForceLoad_Pretorian; -extern BOOL ForceLoad_SentryGun; - - -BOOL UseMouseCentreing = FALSE; -#else -#define MainTextPrint 0 -#endif - -BOOL KeepMainRifFile=FALSE; - -extern void LoadKeyConfiguration(); -extern void DeInitialisePlayer(); - -extern int AvP_MainMenus(void); -extern int AvP_InGameMenus(void); - -extern IngameKeyboardInput_ClearBuffer(void); - -HINSTANCE AVP_HInstance, hInst; -int AVP_NCmd; - -extern unsigned long TotalMemAllocated; - -char LevelName[] = {"predbit6\0QuiteALongNameActually"}; -static ELO ELOLevelToLoad = {&LevelName}; - -int QuickStartMultiplayer=1; - -int VideoModeNotAvailable=0; - -extern int DebuggingCommandsActive; - - -extern int WindowMode; -void exit_break_point_fucntion () -{ - #if debug - if (WindowMode == WindowModeSubWindow) - { - __asm int 3; - } - #endif -} - - -int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, - LPSTR lpCmdLine, int nCmdShow) -{ - char * instr; - #if debug - int level_to_load = I_Num_Environments; - char * command_line = lpCmdLine; - #endif - - AVP_HInstance = hInst = hInstance; - AVP_NCmd = nCmdShow; - - AutorunOff(); - - EnumerateCardsAndVideoModes(); - - LoadCDTrackList(); //load list of cd tracks assigned to levels , from a text file - -// CDDA_Start(); -// CDDA_Play(1); - - SetFastRandom(); - - /**** init game now ONLY sets up varibles for the whole - game. If you want to put something in it it must - be something that only needs to be called once - ****/ - #if debug && 1//!PREDATOR_DEMO - { - #if OverrideOldMenus - { - HWAccel = 1; - } - #else - if(strstr(command_line, "-h")) - { - HWAccel = 1; - } - #endif - - //see if any extra npc rif files should be loaded - { - char* strpos=strstr(command_line, "-l"); - if(strpos) - { - while(strpos) - { - strpos+=2; - if(*strpos>='a' && *strpos<='z') - { - while(*strpos>='a' && *strpos<='z') - { - switch (*strpos) - { - case 'a': - ForceLoad_Alien = TRUE; - break; - case 'm': - ForceLoad_Marine = TRUE; - break; - case 'p': - ForceLoad_Predator = TRUE; - break; - case 'h': - ForceLoad_Hugger = TRUE; - break; - case 'q': - ForceLoad_Queen = TRUE; - break; - case 'c': - ForceLoad_Civvie = TRUE; - break; - case 'x': - ForceLoad_Xenoborg = TRUE; - break; - case 't': - ForceLoad_Pretorian = TRUE; - break; - case 'r': - ForceLoad_PredAlien = TRUE; - break; - case 's': - ForceLoad_SentryGun = TRUE; - break; - } - strpos++; - } - } - else - { - ForceLoad_Alien = TRUE; - } - strpos=strstr(strpos,"-l"); - } - } - } - - #ifdef AVP_DEBUG_VERSION - if (strstr(command_line, "-i")) WeWantAnIntro(); - if (strstr(command_line, "-qm")) - { - QuickStartMultiplayer = 1; - } - else if (strstr(command_line, "-qa")) - { - QuickStartMultiplayer = 2; - } - else if (strstr(command_line, "-qp")) - { - QuickStartMultiplayer = 3; - } - else - { - QuickStartMultiplayer = 0; - } - - if(strstr(command_line,"-keeprif")) - { - KeepMainRifFile=TRUE; - } - - if (strstr(command_line, "-m")) - { - UseMouseCentreing = 1; - } - #endif //AVP_DEBUG_VERSION - } - #else - { - #if OverrideOldMenus - { - HWAccel = 1; - } - #endif - } - #endif - - if(strstr(command_line,"-server")) - { - extern int DirectPlay_InitLobbiedGame(); - //game has been launched by mplayer , we best humour it - LobbiedGame=LobbiedGame_Server; - if(!DirectPlay_InitLobbiedGame()) - { - exit(0x6364); - } - } - else if(strstr(command_line,"-client")) - { - extern int DirectPlay_InitLobbiedGame(); - //ditto - LobbiedGame=LobbiedGame_Client; - if(!DirectPlay_InitLobbiedGame()) - { - exit(0x6364); - } - } - else if (strstr(command_line, "-debug")) - { - DebuggingCommandsActive = 1; - } - - // Modified by Edmond for mplayer demo - #if MPLAYER_DEMO - if (!LobbiedGame) - { - MessageBox(NULL, "This demo can only be launched from Mplayer.", "Oh no!", MB_OK); - exit(33445); - } - #endif - - #if PLAY_INTRO//(MARINE_DEMO||ALIEN_DEMO||PREDATOR_DEMO) - if (!LobbiedGame) // Edmond - WeWantAnIntro(); - #endif - GetPathFromRegistry(); - - /* JH 28/5/97 */ - /* Initialise 'fast' file system */ - #if MARINE_DEMO - ffInit("fastfile\\mffinfo.txt","fastfile\\"); - #elif ALIEN_DEMO - ffInit("alienfastfile\\ffinfo.txt","alienfastfile\\"); - #else - ffInit("fastfile\\ffinfo.txt","fastfile\\"); - #endif - - InitGame(); - - - /*** Define video mode for windows initialisation ***/ - InitialVideoMode(); - - /****** Put in by John to sort out easy sub window mode ******/ - /****** REMOVE FOR GAME!!!!! ******/ - - #if debug && 1//!PREDATOR_DEMO - if(strstr(command_line, "-w")) - { - WindowRequestMode = WindowModeSubWindow; - if (!HWAccel) - RasterisationRequestMode = RequestSoftwareRasterisation; - } - if(instr = strstr(command_line, "-s")) - sscanf(instr, "-s%d", &level_to_load); - - #endif - - Env_List[0] = &(ELOLevelToLoad); - level_to_load = 0; - - /******* System initialisation **********/ - InitialiseSystem(hInstance, nCmdShow); - InitialiseRenderer(); - - InitOptionsMenu(); /* by this time we know all about the video card, etc */ - - LoadKeyConfiguration(); - /********** Grab The Video mode **********/ - /* JH - nope, not yet; not until we start the menus - (or if debugging, start the game), do we need to - set the initial video mode */ - - - /*-------------------Patrick 2/6/97----------------------- - Start the sound system - ----------------------------------------------------------*/ - SoundSys_Start(); - CDDA_Start(); - - /* kill mouse cursor */ - SetCursor(NULL); - - /* load language file and setup text string access */ - InitTextStrings(); - - ChangeDirectDrawObject(); - AvP.LevelCompleted = 0; - LoadSounds("PLAYER"); - - #if PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO - if(AvP_MainMenus()) - #else - while(AvP_MainMenus()) - #endif - { - int menusActive=0; - int thisLevelHasBeenCompleted=0; - #if !(PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO) - if(instr = strstr(command_line, "-n")) - { - sscanf(instr, "-n %s", &LevelName); - } - #endif - - #if debug - if(UseMouseCentreing) - { - //Start thread that recentres mouse , making it easier to play - //in subwindow mode - InitCentreMouseThread(); - } - #endif -// Env_List[0] = &(ELOLevelToLoad); -// level_to_load = 0; -// AvP.PlayerType = I_Marine; - - - /* turn off any special effects */ - d3d_light_ctrl.ctrl = LCCM_NORMAL; - d3d_overlay_ctrl.ctrl = OCCM_NORMAL; - - /* JH 20/5/97 - The video mode is no longer set when exiting the menus - (not necessary if user selects EXIT) - So it is set here */ - - /********** Grab The Video mode **********/ - GetCorrectDirectDrawObject(); - - if(!SetGameVideoMode()) - { - VideoModeNotAvailable=1; - continue; - } - - /* Dubious restart hack for DirectDraw problems */ - /* JH - I'm not sure this is really necessary - - it only comes into play if you try and set - a video mode which is not supported - BUT we are never going to try and do that - - or are we? */ - HandleVideoModeRestarts(hInstance, nCmdShow); - - - /* Check Gamma Settings are correct after video mode change */ - InitialiseGammaSettings(RequestedGammaSetting); - - - - - /**** init the chunk loaders ***************/ - - // no longer required here - - // Load precompiled shapes - start_of_loaded_shapes = load_precompiled_shapes(); - - /*********** Load up the character stuff *******/ - - InitCharacter(); - - /* KJL 17:56:14 26/02/98 - load a font required for Dave's HUD */ -// LoadPFFont(DATABASE_MESSAGE_FONT); - - /*********** Read in the env Map **************/ - - #if debug - if(level_to_load != I_Num_Environments) - { - if((level_to_load < 0) || (level_to_load > I_Num_Environments)) - #ifdef MPLAYER_DEMO - level_to_load = I_Dml1; - #else - level_to_load = I_Sp1; - #endif - - AvP.CurrentEnv = AvP.StartingEnv = level_to_load; - } - #endif - - LoadRifFile(); /* sets up a map*/ - #if debug - DebugFontLoaded = 1; - #endif - - /*********** Process the data ************/ - AssignAllSBNames(); - StartGame(); - -// UnloadRifFile();//deletes environment File_Chunk since it is no longer needed - - - /* Patrick 26/6/97 - Load the game sounds here: should be done after loading everthing - else, incase sounds take up system memory */ -// LoadSounds("PLAYER"); - - /* JH 28/5/97 */ - /* remove resident loaded 'fast' files */ - ffcloseall(); - /*********** Play the game ***************/ - - /* KJL 15:43:25 03/11/97 - run until this boolean is set to 0 */ - AvP.MainLoopRunning = 1; - - ScanImagesForFMVs(); - - ResetFrameCounter(); - Game_Has_Loaded(); - ResetFrameCounter(); - - if(AvP.Network!=I_No_Network) - { - /*Need to choose a starting position for the player , but first we must look - through the network messages to find out which generator spots are currently clear*/ - netGameData.myGameState = NGS_Playing; - MinimalNetCollectMessages(); - TeleportNetPlayerToAStartingPosition(Player->ObStrategyBlock,1); - } - - IngameKeyboardInput_ClearBuffer(); - while(AvP.MainLoopRunning) - { - - #if debug - #if 0 - DumpBoundsCheckInfo(DUMPTOSCREEN); - #endif - #endif - - CheckForWindowsMessages(); - CursorHome(); - - #if debug - if (memoryInitialisationFailure) - { - textprint("Initialisation not completed - out of memory!\n"); - GLOBALASSERT(1 == 0); - } - #endif - - switch(AvP.GameMode) - { - case I_GM_Playing: - { - if ((!menusActive || (AvP.Network!=I_No_Network && !netGameData.skirmishMode)) && !AvP.LevelCompleted) - { - #if MainTextPrint /* debugging stuff */ - { - - if (ShowDebuggingText.FPS) ReleasePrintDebuggingText("FrameRate = %d fps\n",FrameRate); - if (ShowDebuggingText.Environment) ReleasePrintDebuggingText("Environment %s\n", Env_List[AvP.CurrentEnv]->main); - if (ShowDebuggingText.Coords) ReleasePrintDebuggingText("Player World Coords: %d,%d,%d\n",Player->ObWorld.vx,Player->ObWorld.vy,Player->ObWorld.vz); - - { - PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr); - PLAYER_WEAPON_DATA *weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]); - TEMPLATE_WEAPON_DATA *twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber]; - if (ShowDebuggingText.GunPos) - { - PrintDebuggingText("Gun Position x:%d,y:%d,z:%d\n",twPtr->RestPosition.vx,twPtr->RestPosition.vy,twPtr->RestPosition.vz); - } - } - } - #endif /* MainTextPrint */ - - DoAllShapeAnimations(); - - UpdateGame(); - - #if 1 - #if PROFILING_ON - ProfileStart(); - #endif - AvpShowViews(); - #if PROFILING_ON - ProfileStop("SHOW VIEW"); - #endif - - //Do screen shot here so that text and hud graphics aren't shown - #if PROFILING_ON - ProfileStart(); - #endif - MaintainHUD(); - #if PROFILING_ON - ProfileStop("RENDER HUD"); - #endif - - #if debug - FlushTextprintBuffer(); - #endif - - //check cd status - CheckCDAndChooseTrackIfNeeded(); - - // check to see if we're pausing the game; - // if so kill off any sound effects - if(InGameMenusAreRunning() && ( (AvP.Network!=I_No_Network && netGameData.skirmishMode) || (AvP.Network==I_No_Network)) ) - SoundSys_StopAll(); - } - else - { - ReadUserInput(); -// UpdateAllFMVTextures(); - SoundSys_Management(); - #if SOFTWARE_RENDERER - FlushSoftwareZBuffer(); - #else - FlushD3DZBuffer(); - #endifÿ - { - extern void ThisFramesRenderingHasBegun(void); - ThisFramesRenderingHasBegun(); - } - } - - { - menusActive = AvP_InGameMenus(); - if(AvP.RestartLevel) menusActive=0; - } - if (AvP.LevelCompleted) - { - SoundSys_FadeOutFast(); - DoCompletedLevelStatisticsScreen(); - thisLevelHasBeenCompleted = 1; - } - - { - /* after this call, no more graphics can be drawn until the next frame */ - extern void ThisFramesRenderingHasFinished(void); - ThisFramesRenderingHasFinished(); - } - - /* JH 5/6/97 - this function may draw translucent polygons to the whole screen */ - //HandleD3DScreenFading(); - #else - { - - ColourFillBackBuffer(0); - } - #endif - - - InGameFlipBuffers(); - - FrameCounterHandler(); - { - PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr); - - if (!menusActive && playerStatusPtr->IsAlive && !AvP.LevelCompleted) - { - DealWithElapsedTime(); - } - } - break; - } - case I_GM_Menus: - { - AvP.GameMode = I_GM_Playing; - //StartGameMenus(); - LOCALASSERT(AvP.Network == I_No_Network); - //AccessDatabase(0); - break; - } - #if 0 - case I_GM_Paused: - { - { - extern void DoPcPause(void); - DoPcPause(); - } - break; - } - #endif - - default: - { - GLOBALASSERT(2<1); - break; - } - } - - if(AvP.RestartLevel) - { - AvP.RestartLevel=0; - AvP.LevelCompleted = 0; - FixCheatModesInUserProfile(UserProfilePtr); - RestartLevel(); - } - - - }// end of main game loop - { - AvP.LevelCompleted = thisLevelHasBeenCompleted; - } - - FixCheatModesInUserProfile(UserProfilePtr); - - #if !(PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO) - TimeStampedMessage("We're out of the main loop"); - - /* KJL 17:56:14 26/02/98 - unload a font required for Dave's HUD */ -// UnloadFont(&AvpFonts[DATABASE_MESSAGE_FONT]); - #if 1 - { - extern void CloseFMV(void); - CloseFMV(); - ReleaseAllFMVTextures(); - } - #endif - - /* DHM 23/3/98 */ -// REBMENUS_ProjectSpecific_EndOfMainLoopHook(); - - /* DHM 8/4/98 */ - CONSBIND_WriteKeyBindingsToConfigFile(); - TimeStampedMessage("After key bindings writen"); - - /* CDF 2/10/97 */ - DeInitialisePlayer(); - TimeStampedMessage("After DeInitialisePlayer"); - - DeallocatePlayersMirrorImage(); - TimeStampedMessage("After DeallocatePlayersMirrorImage"); - - /* KJL 15:26:43 03/12/97 - clear data */ - KillHUD(); - TimeStampedMessage("After KillHUD"); - - Destroy_CurrentEnvironment(); - TimeStampedMessage("After Destroy_CurrentEnvironment"); - DeallocateAllImages(); - TimeStampedMessage("After DeallocateAllImages"); - EndNPCs(); /* JH 30/4/97 - unload npc rifs */ - TimeStampedMessage("After EndNPCs"); - ExitGame(); - #endif - /* Patrick 26/6/97 - Stop and remove all game sounds here, since we are returning to the menus */ - SoundSys_StopAll(); - ResetEaxEnvironment(); - //make sure the volume gets reset for the menus - SoundSys_ResetFadeLevel(); - - TimeStampedMessage("After SoundSys_StopAll"); - -// SoundSys_RemoveAll(); - - TimeStampedMessage("After SoundSys_RemoveAll"); - CDDA_Stop(); - TimeStampedMessage("After CDDA_Stop"); - - /* netgame support */ - #if SupportWindows95 /* call me paranoid */ - if(AvP.Network != I_No_Network) - { - /* we cleanup and reset our game mode here, at the end of the game loop, as other - clean-up functions need to know if we've just exited a netgame */ - EndAVPNetGame(); - //EndOfNetworkGameScreen(); - } - #endif - - //need to get rid of the player rifs before we can clear the memory pool - - ClearMemoryPool(); - - #if debug - if(UseMouseCentreing) - { - //Stop thread that recentres mouse , making it easier to play - //in subwindow mode - FinishCentreMouseThread(); - } - #endif - - if(LobbiedGame) - { - /* - We have been playing a lobbied game , and have now diconnected. - Since we can't start a new multiplayer game , exit to avoid confusion - */ - break; - } - } - #if !(PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO) - TimeStampedMessage("After Menus"); - - /* Added 28/1/98 by DHM: hook for my code on program shutdown */ - { - DAVEHOOK_UnInit(); - } - TimeStampedMessage("After DAVEHOOK_UnInit"); - - /*-------------------Patrick 2/6/97----------------------- - End the sound system - ----------------------------------------------------------*/ - SoundSys_StopAll(); - SoundSys_RemoveAll(); - - - - - - #else - QuickSplashScreens(); - #endif - #if !(PREDATOR_DEMO||MARINE_DEMO||ALIEN_DEMO) - TimeStampedMessage("After SoundSys_End"); - TimeStampedMessage("After CDDA_End"); - /* unload language file */ -// KillTextStrings(); -// TimeStampedMessage("After KillTextStrings"); - ExitSystem(); - TimeStampedMessage("After ExitSystem"); - -// ffKill(); /* to avoid misreported memory leaks */ - TimeStampedMessage("After ffKill"); - #else - SoundSys_End(); - ReleaseDirect3D(); - //TimeStampedMessage("after ReleaseDirect3D"); - - /* Kill windows procedures */ - ExitWindowsSystem(); - //TimeStampedMessage("after ExitWindowsSystem"); - - #endif - CDDA_End(); - ClearMemoryPool(); - - AutorunOn(); - - return(0); -} - diff --git a/3dc/binkw32.dll b/3dc/binkw32.dll deleted file mode 100644 index 8ea0230d1414dc5df6592c663e6434ba43963cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167936 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 CwmF9Y diff --git a/3dc/dialog.dll b/3dc/dialog.dll deleted file mode 100644 index d45fbc0a637d340fa48b3c32479cc244268d3ebe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55296 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 +>Z_ApY(+O)(d&^XuoWFl8`Nv5 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 diff --git a/3dc/ia3d.lib b/3dc/ia3d.lib deleted file mode 100644 index 9429eb71f40a4283739a8026168127cd8cffffa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2066 zcmcIlO=uHA6n@*7AD4(*jTjXq!U{RmxJlF67SYtCVl-;)FJd&=CaZ3VsifN?l7mo- z$RgC6c+#5(uY#b5qGFFy1o39Pc@R+$4+_TjW_Po@{Xsl9%X{CC^mmriHAU8xR6GIH%2riPl`HCX zB_%Onw5qzGbZ$7CAtn^EXk=Yh0{%HtsoRXX$a5I#BUBhJaE|XkM7bi&zvi>oN_3Hr z<%g7tB2O!MRqiaurY0tV-*2Vcq^;*KE=k?pxZrqKPu!pu`5YGjZ&2tu?g7}1E2k1G z*OZbrs~9bSC>kS_9%tbNh}FunCflHdW_<-O1*ud_Q?6+?4Ft3wBk#G%r79u}7Gq^) zV&;-~)S?paHFmyp@Qw+>k+u9akn`2SThHH5O@~IdnA2wB;tfl=Q5}IPYw)68ehJ>PyTq*ehc7%c>b>baYeha zeB;;Kd&}($zn~a+_`QD;n%iiemkUPOfc7R7iVt8T)3yqt>4)ZCLd*eJ(UP{J7-I}g z45Mtp$`5m&!^5Lvx+Zqa{}^A&h_nwdv-#;b_-_<0oIf}BD*Pe{OKk8b>eK6Da_ll$ zliWC~jX>uY^@`Y0uj{@$Bcd?Gdi22HGYX>FKEGHW=v>5}(Cv&E!g)d=#L*59p^Bi0 zC{Z0d2K7MmOmwa;hJ!WlGs-if!eo%)qVAht)VAxw=wNdwie7{IOFPW*u~8PIjV$cL z@synq96-Gb#RrE`QwDu7fO;ph&Z71+YZ>(p6bcaF0}3r3x19lDwEYmfs8*~i^ScRf zsV&`?@2_50r}ERaQXc{dPGXG&~{h_phK{xmqZsryOW<%~#PPu6!-gqvL(e hsPtPOo|>sTQERM0%vPs0xmr?E34DK9l#Wrr{{cfV2?mA(nl7JKzkR;Pm6-tyCKNI-$i=0U#;Qy+Wde#!1oE%& re|LiMCjt4Fb+pn!d`_VJWFVhg`?D2@&jsX90rDr$`d9$s^8)z*UMU|z diff --git a/3dc/plddpvc.dll b/3dc/plddpvc.dll deleted file mode 100644 index b7295a7025cd3edffee6d997e5b76479f7b5ee24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111104 zcmeFa4}4rzwKhDHOxh_-nJJ_gr7xtVg+c)Yr+qv?v5|{!PI5;`)+Mqeai>ld&~7VH@@fk_rL!GYZ~8uL*p&Cy}$8&?{8dm z*_Dkqe_+)OXHA@V)O3T|%En?#;^Sifnp-=^udP3J)YPNniTc>0cr5l&O&wf;?+pG{ zB8^Xcu2H&~K>GDxB@s{f2SCCG-}>78p?K^nCilc+tN8syJT^3u4^{vA!ZEEE2NGNb=I02)~-R;*7E^G`qyX5@H{g3Q zzC-_-(OqXLSZw+{WV9lm3?_W&Uo%>J*83Fj4HJ;jgZ!iL-98H3Ew|qC9%Knmz?;}H zc-b-nuKBE6Zn)_K0Q?qt)Q|jneBV0)?mVRa|Ns79$bsdBfh*r}l}F01yY}kG9?^Gu zUTZv)JJw!;FZY>px$Nvs6|%|ho!#+_y^49q+iRJ(NAq^G!viD_r(%!$|A5aKXhaqE z9V|B0zL&)|XfdZH8B6C+LfIVuJK5evm>T!XQ(`e^Z@p8Br}M=8IO=xRMqp>yk1Om) zMuknq(i;Q3r`QJ-_Oel7GhrHL+QSNa@~E)&VZ5i=^=(4$;S;Lpwa;M2EPEcl+>j~v;9_ia_QlCCf}289}gISlBrJ1a6H|<7d_z~u0xSEM7qRo zCDPx%EF^ca#=_EMXT0kPl7gp&3HxpWuCTWeaE}63x;|0qdJzHX{{;FUwbnJqTAe0o zMY{bskRbRittD2rGM(AsLUuSnMqzXYl2W+D!hR!T#q6*JCR*-qU=BO8C8wo?PCQFn z6-&3%_}Q$;wpWtfgdQ%$%BZ1Kd9#v*Y^kcYWm4M?)|Rt!sA#9<&YQ~aP4(d!c>A)u z7RlHCB)&jJXSUyInhU8x#U~=Ei_gWSj}|hWlL}U%^YTQ&N_Jk3E>CqXOa%;hJwS6c zte}bwD?7703fUc1gpI~SjtOK#6@uxb@^Lf-Ckujla3_Pm6#hman>{MB(bzPpG0djF zhb5YcAo%`CQU!|o1LVH93 zUNve5kERWDQi4th_4eY^q?0PWUDYM90K*mQT-_ngz-V>7M&j+)O#EvQ^)=PVV4-1R z+Xf!TcmTP{on6d7jp4+~o!G^Z9^*#r5!iYpCoxP|xs$4rvv*s$#_F`kt=!bAwEQY5 zJ}sQwm!FHOW`gB?`FVIs;Ysp4^XKBVFW-#MHpyOuCp-Xf37%elLoB0ocIFogq!r{Z z3!bjQlOkVw>3tJSp-HJcW>N z#%o{x4t%Z`87_%Nv0_dv|C4ZUNgGWNr(dcHl`d@5ECG^Deyh<#*%L5zG(b zNipxm)4CbN{CH=+N5CEpG9M3~&PAIPb2FaKKw0q*I`fP0Y8by5k6uqp7+I`cO%;S^xW)qvR5U;ropv5g=WU(@lWSg$}K_lti;_cT4;9nXM} z?*cDI0lr!GJwVa5Vw)7whPFE`?HE+;3sx799Mh61!PUo5j!rJfmJWGlLqD{&tVdNa$R?TG8_X#Rf;0MJJ?UgReow4C$)%DUj}c z3GFn>1>gGyRGF(ivSw{V38#tk4=`*J3fOGnNWokOIQQN{;`j!7@ zO%-v1t@A#Bcd2O*4^=gZtWol-QGYU0C`v|EAwU{>uEmpg5t8$5yzlDz3lN7nRi${URe|wQXQ8%KJ8z!;SZ(FiUMJ#|Q6Yu$NBL zy`taklL0OoH316S#Y8h6z<$b`ec%6zL0#Qeu~6_x>m({If#jN zs-m-t(|Y7_qFpvmT8_E%ls7I>)^@#5#Ps7N9;CUS5wD-wetD@^^b&i6?kLc%PxBpJMVFJ z*-xGq>A;+mQTly#RKHkAsASBh$oe`R8ncf9KGRvBg~mWWv_B4!(<6r0cA9G>i;Zle zhNtseMnE>jKw3I~8#4Z{7y~n`)3(7#PJ`dqwudijCm*7nly^0i$0KL-VZCkO4m80x zm1_xij%ccyN*R;pgMVn`ewYh8KDxy_+qP*BJt-QthyN{$r`_~Rs#CpC!X_WPk@>aK;{Y$_1+anCSe`J(!Gf#@UORUa7~ z7+oKsiS|L7z6MlcCmfi*pZ!)$ALo6p_(gjY_7r5;QwY*bkZ&u9iYe$0mQtJny1w=b zf`5+SYY5(<;2K=}9>8VPFNl;-d3Ay~Y;R_RwtYjxEd6bn5{KgpiQ7d6kOo&|{ zslwwDk=;*BKPDzDC}!L*DkkBxzqF+MaGE%ILm%2cI<~!wiIvumXy(xT>~MOEI3bm0 zMhjIp^y6?WVR*a;L0*K8wt=~*kzK=ul43pv08D2P{H}_7F@9p@-VjL!yd;}qy3A6Z zT>nTk-cg>xMVImnhS170*c0U$^c~AHI9Qfva7taC!8v+)#&r2)P@z17{#khj9oq5? z;w;Z#B&9s#3Hf{)pZ?k!zcDpLGs=@wz${!2XKKC%AVu0Xb3TEm+O$0FMzhP_6_S>M zXUV7nr;dqyBYM!AkJrQ5R0%-oc9vB5X%Q$5<#1^zQDmt|_*3XRLjB-w*=qqlrzQ25 zaQ(Ac|Ei!OzM>*P4X5*r@Z|nno}59GwO)bd#03C^i6=; z%hnX@N#cI2=J|Q+-^jeAHlIVr?!Cx;U?)E2JSC_<_3*{B9zFTV+9$36foQ1ZUaDmb z3O{vm7!!paeSS!F0C5(nc!yN1NM5ht_V!R(osR+w&+Qihg~1)L>0SWaa3`1n0kGU} zNQs83rfJ@nACb9q| zi729rnC>!UV?Nv|O*~TTxwtiIekiQ*NX4kaKJ1=83HttH^dIzH1T7C5WA@$eW=PTg z8Q5uW=5vkv3kHPEMus}TxJwZ;wG%Stlw@d$l_#G8cA%f~B4}$+5R77;yA@L*h=IO} zogKE^qa`unl$z5UW&kDZlI0$nMaYEXHpjEWxmtTQut>&4h%>kc4t3@S8JgI`PcZrd z7L_E+-EB$}C9SBRzO{l?AbrH9*w^P7+zsi6VidGvgq()X`~d1OUB$-|4NKOCdOe_& z;b}beWGEqUC@&y(_RB1!;^`5HhXZ2YtZ8aj1Z9Se}KX@Q{n7205;ZTh^5`-(sk!nSr^T_ z2*wg(WgpuZ$5s-QEao*Mc8+u?#s-KV#s+-Ws#s#4){Q_mL@Zb9-mZ$T0EuvP9#NUd zDl^okuxxs&uw;57|J0fb=k#n^G(CA$;U(uUiCfM*{EYKl?V9AQCp*Spc+qWtDLmTS zpRDcWR|a3-cYamd>(#6o_u~C1Iu0-w0|v#fdjy|}KqJ-vp--BNcV+Tm2JN5AzyK7l z;`I3%tngwn%m@}L_4bja!uSK@LJwqA>>+xt^rTFaR5e)@u=anba#?9CJ5IjZ-Af4MJj%d*Zvy28?}1 z81Ov;*iZq4J#P}nB_*LHr-WgNCRbaGon~Y!xInBh0{!WYv`-udd!{?3{`3a=7!)o$ zS*a)P{`Jo^@zHvI0vu?isRzuwNN}d$O;E%tSs;N17hPU!oUo^1xx)>KyPvJDKuPM% z4i>V5mit$gAMuVut3X$PgmN8w18X)glcWIh)Q2y9XvRd%JWvrOyiy!mrcHuMaP>Lm?o9|B34t#Sles4S8Fai76n%Y1sg55+0O!=#xWEqs&B^mcs2WA z*2B_YasC6-bO)w1H2LU~D1~H}I}KDp@YRYWJZ>Pw^M5&`xmq0lGbDQdAc!_%y`So5Lw_GT(= zjl1MetYoCcqB2!kET23sbn0Y>?atMVVzaO<)Wof|kX?TRZKbhU`(I$4BW%{-s;H{R z+^-2>)RxSHD!@KG>)Rhpxq490AdkBr8Kn%@^k7I~Zp6(q!E~ntOT_pIno}`>(~)40 zv^vwP(Mq5H0uvZWM8M#Cg%bPv5QCq`#4W;L6m;B19TS|j_3$Xv&0w%e10@3{|wgx+3ouEmml*51N;!(WN8P{e4mMNZMJP5(vB0@KLSs+o1}ljjWJpWV9mowF#hyf5fT^F=D?c(HZyNX4+E6!N_3W zq1Yb|Vc#ojpdmXXSY!mN8Zd{d2h5@HfH}kgbEwZB&4&cTNHgrazb0NN)&m7!<9KDp zgI0C?8D;iuW5q7I$BOwj<3SzV8W@U^gqZONb;FQj3Qa>kivOzl?5WZ7C%7-_JUD0r zI~uSUwmOwe#VX?u>5mQ*H^2r3R?IlI&%x92hlv@oWEJWj9k(#t#JoPhsrhB)x*nCQ zjf@H$vF&SathVnzl2z1@efK^BT*8X>qlIAsO~$fv+1{t=6H+=vlW$qMX})6gVC1hv z^+mY{yjS?zYtS(8$uN}~JC-&4CAE8cntJuFYfU7PZ^R&$^-635+3tE=&ukpCy8 zxoQXk3xgr(UO{9ZgR#}`k+L_!CZU}f4g&BcSF)L?z;X}Em;v*L=c8flpc!797%BD< zqPKL7F~|qQQwo-X9VAw{-gMDACE$b*0UxaZY{ ziNg__xJv6gJyhQ@)%B6az$T(G6`P3T7Q`O1iNGGRiAxmw+z|Gi?kMbx`4(+7#{M(n zmlECrWB(1-gp8f3Eyc_Q55mOeOt?ERT~*Uyr``lg#YVys(m%j+fWoMMK7``VY81Zu<3vko6!nMu zR8jvBK%o8vs8atzsJ>|<>tl(rrPbhr;{&c^RtATnN_6iGp?^eHGb7dvM4F(;KDbE2 zn(FC<&L?DjhS3G_U6S2=gd~Rh$sh0n`wxcqoKj(U{WzcD?Y9fT>ZJZ3G^MfPsr@E zsuzU+4HbG+ZD8o=w&{ZTYUmEwFb(4n`rQ3626lCuvGRZrB@E-xE9v&*)v4>uy53VL zYCrzo>e2O|4wA{?(e+6JZXW@-cm&{f0=AC;JZS{r#|XG`1mK}xS6BTG0?r))_=6FE za8_bsvz)9u&S`OL(;N2+Bi-`!{1-2ZW#-`TDEvLQIF{LsKd|b{(}h)-0MErhA)ym= zvWcgZ3Sgg!9MmGaFFUA$5V8UA5g2!ZnyQhQsxK8Q0wXao0Kk-uTO&he#th<}*#UDD zY2XYrwK8UxB=E9Y4+qkyAxI^)iAw-N=n@P>d;o0f!yGK)1AuZA3wate5SX$#8o8PD zs^~*wf6TpN4D`wb%vmn?+nBNZu^a8cV6h$BNsMd5-eLhH+c7rTpW_c<;usM=L%i;= z{-7zwGpw?jCcLEgjV2|P7yV%+yHC)CluRJ$PDtItyj|e}YpM(QTKPP<1d&-YO+;pd z)d=ik7vsLLFK~3BcRH0yb~7SJK`e97O8*gtGTsns-Po8U*(O82jI4!11AaWFmrX z??xN7?IqgW{A1~MdKYQ|FT|555~|{IxQAFj;#&8C`K@8NlbENf$l(fek1p(`?Ww|E`-Qh)qA)o}8?*nQXaK{)1)moStg<6YH9|qQf0I(KYh_o`jlC|5QFs18%$Ct{#eh`|~Pm zAZJ`aMAL~C1>r`NxUZ%d1F@TnN>Z0D!uwG!CHoe&N!VR@mMq|nPWAF+=b}vs?{W0z z5sd#j!BRThT+f(Rdh;TEuNZmMG&`CGlFEzPFl{%M7Qr!%h@r~(qD>9n$qH}TgJI)$ z_&{}YZy{-n{^T8DX=} z9l`34RM!pSy=MSBDrXDG5ME{iUZ!TDVF6dUjsST>u1t=WGgqI4=h_d>I`oQfw*a0* z0%ty)dZ?L0H}eV3GKW#Mm52t>SYQij9ABOd7Qs6!G@k)&n6(g};$e}3R*m{%-Lrts3D^PxD8N-$i>cB6v ze6Ygb;LBRYL)Z^#4d{Fdn z%WJUFCqe4m8LsnMsWaMA_%jBTP6klgZxqCJv7$dhqt=BhczJ(SqtJBAz0g$fp!yyq zZ26!-t{S1d4@vQm%kB^Jfx#8~pa<1=0jt05br-Y(G&-eBdNajnHx?#h3$nY?TRw>g zW-i^eX;HGVBfHaSO5K5zS?Mi|N!vW!z&Q@Cb+~*k$wJtDhm5I`T9}ASZm=EW~sitoo)bIhunRv{F^WWVAmx|JLzORQM}^AJy7s zkwL97AwNDY<;i%dWByAf4)=n=4_{v|!v_s|DR=j2bj`hW{6W7E?`f21f8$_fFI) zDf+sDul(T7nL1{6Z}%a5TO`eJPeH(!m}yPi`KSin>*BdQ`CK-&9>&H!7FyfgitZi}`x1t4l&2MOe*hhFOXuU`I7AQJA423@sz$kP9g2A$CI;Eh zLR;fBF)^0j0{B>YB43=Q1B#x4eO3m}gI;)^;qq+NHXTk*sy@&UAGCDSlnH%0_J$3lDOy_cJ zzA%qi&~6!;klt{d6vGr=4N2Jf+9EM>#b-Cr5-5w)*&$M5U z!mFxr0tmAa?myFSz*SgYpNm}qjQ2tQWd96n2vSdy)MV%K)Zf&hXx_$q(KqS!v^Uzp zoBul<{BV76YgUE-RXnMc3Pw!wxwrCgZ!PFpQ@<&`u)SwZv%cQ;0yQvJh<~U2$}1nO zeZm ze6o1^%g@&qZ)fExga7rLCM|4#YR#&S*Ij6;_`~ycov(BH64K^E+_btdDQNd|fS=ob zXw9jIAC^`h%Wr9RU+3#|d+Ck(urWdUKVZ4filv2Z+mF)a#mGD$%W|7(o$*qL!3Z%cW{lMV3@UEj1vHtk zdHX$p>G?J3Uuo~mpuHno`cAu1Tly!2BVMJYSNpL0s$oIUYip^m6=>-T7+m09|BWp@ zAv;D(b^N)!Ne*c&nV!6*zRlzFnf%DdCH>ZcS&tU>=HrFu3UEjh)+5GVI!(9|fG*QG zFb@Zh@M33L@sY%b%lST-YbTh3%Qzmd2dS1(|A&pJ_GR~V2Ef1Dha2WBm1Ydo1blw1lc~Rzz`#GqK zuXh=VYDy_b7-8y48pr77;Y1hHd6aLxhG&Omn+|OihN^PL!;G+OPa&u3$*Bj43%r}o zlt!j}MN^!ngQyT*$5gz-X`CZV(+N6_Y*t?#vq_u#0Jr?fwqlxV_hNjA%h*>Zjl(On z3r$*#CRG@%;^2>m6I};|NAX!qe@t|bLlkn%d{i($n@Vq>yM*UZlau9)lT9W(1RF+- z^&~;`kLzb(Emm#V0zARpBgZ`MY=lZ8{;C0|tH z?+buKOSxS44*>3RQB(%tR5u^JA`=HHiG1|dGI6ky$VcxzOdP5t^3l5#iQYx{aBg;M zuxeJH-pIgtA?xx?_s}Xi)7_7+_u}tM_*;j+PvCFD4Nzw}&}}~A@?BF4+AU>|_bl67+|^s zATA{di?Q~eoWD4s4!MjHC5#+Swv_UIDPF{oM~B+&xq|c$U@@sLMrG8Kd3dO{|6C6N ze_F@0ZbTorg_jr*%4BDO#~N;Yd2<`Wbw zlT~d1xXQ#cN zYO+#VN$$~PiXS8@fc_UvrT~VM??ke@7c)_n1@@tIRh-I+1ByM=0>6M9YE?!*3o-GQ zqp)*xKV-NcGK|$>#Dx1P!+YN=GQ166&qEh4#JB%98_zZPdp-Vc!(VKCeEj(FHRH$E z;wyo_@#E{Tlsp6xqmqML`yflwa|baqW6wo$S76jaE;?c{NOD>ZqI=bzgiy>;AfEs6 zgHY5EnK_GI7<-aP=V|gqW|xU{;Sd2WjH*;#Cryy_6*9X*=8DZh=6QJPa-j>bE9QXv zVAlZNYwMW0AUl}eLY-8NfXykUF6vv>0Fk&XU%wP;CmVmGy{XkMkRb|A|@yLDiR3PtJ z5h5fqp1G4Hf7z({{(6GUADyOQh&u$rMqS|p#Qvft5Miq$j2+Y#gQ%PvW|5#E6qVtk z7Q!uw!ojV|*z=-k38Xnq%z^lluegK~FEUr>0BCj|$JTuK9ak2fDXf`Zf0!4H#4wA=+%_Hu&Tjj_^HVpCyMSlX*37^R=`_v1?fJqp z%)Q+Cb?uso3V_@@!oeUtp?o2Bs<}nyE@krz*GY>wMkw4Z2?)PsiX1RpBWy z=PAKCr{|(IN6qQ!9FKX>MYoke@NIdYM&nOV9hoM9u|bx<=W) zYy2T865^^6F7;Ow`IU;?X(CE=l}5|xXE6cQGBhP4!339UKx%+!PEh|oO^8}|iQ%Yx zcU^<-2C8e|d2}raJ)awTo>FOcdEBnJr3-EcZiCNmGCXp;-1DkofH^PhJ%!SoI@wutNCHv`PxT)|EOw1V>-8m4>xY%D*DD0rTpkMJ zeX1bbV8B_7F)(QPzm>jm%G)S?k#@fteZ19m1bw4m2>6Rxe0lOsV6BOX&OjPt{vmd|tkla;#nirR5=zTdoSdW@gVUD#E++Bb(&2DW z5;}tsMI8nN(?%Y4{gy6A`O#|(A5za3z}AW?2nz%Hq+`=g{~$uQUBgArF_Yk z#H_8tzlX^d&XqT4=o#{-q^AsAP zx&q>Dc6gm9d9tgv_qjwTu2E%RKZWyT>tW7fgZFC25V@3!OxhifZkKp&raVLGd!)<|_y{ zUPHAmAe=1(xo6hGv5lcLn<1*agE|3H)E)Dg?W+K72lSEHTgru-tR(s+q$_+&}rf)tS#w>vYn1E_ho#LRL;tL^4EcUZ@ z^dG^Wesn)bbarPTw=kYGnuu?*UL+S_T4UtSascF}v8I{iEIN+OJ zpOxRB=}FkJMz%lJEPU?}IJ4{ZCIf&z0YIGW0b>XP=C?N?7uWJCW9EQngk4p$*arwx z;)Q<*d4`ku!en!v6!OEjE+)(2N_b^M-SUP5ispDC`vC_p+t@V}xn_KuCmC{#MKxY= z2{$Fj65wr-<0#BhCS61msByruZ&5Nc=&5D&-+BC;S?$RT%Dvz*(jhGtk+9tV`giIQ zPC^Z-ctGFdaPu(doh5j&ZwiYW!7TuTnz*l(qg%NR2MtiY+*=0>-nmHhIDl4!&WM}O zP5*pmmC8f9Q7WufqB}+&Alw1MWR(;r=hqE!%*dMofrp=%03jsv{gZXc0@ihta`*|N zDhI8Sa?om|`O#}{>O}ZPp-JSEgDJ#v z^H3Q(<{1pyydLl9AMQVHdx@+~=V@wfNGv|US(NVW$D-0etq6!=CPnl-ExHdE^AM#`M0HZ4n{85xQ}?US0=p-KCM(*W}IH(aFcFDf#e@|Ei- z1Xwe`XQSD6lW{He@gf|o$S>8TN`8Nc28$ptZtY)a>33Q2G2t3zNoiiN9J9f%RVB9l zMS8sbGvV~R#QG3^!^b3@M=UCcu3(+gMKD#p&!u<`$aI)1aS@GU@fImJAj%ysJ8L^6aq^LrNZSOsyqXM@*EF5fKn?mL0_xZcwVqSoxj1CQV=&tNFzFfB05kkG2t+FW_&WV6)n(a95JyxFYGd7-w_8nnK2B= z*lHgAvGlXr95db+4Vd%A_$g z=;#tKvXk*Rxr3`b@C@#FCPFH#!^seg3c3GX*b3B2Jcqs~Cf!CXiE5iHV(pGhVo2EitSdQ2u& zSUv``=26z@P@}ON`{GMW9)FVt39Y5CBznyI} zQE*J=d{VIf&ohTnz-s0UfH@-^jbJt5Bga5` zgN7)h(*1KWmXe>}Q{9Zre7GO0rGGd~;LUlrzSW6t6DemTv?NR6==lo_;)P>t3zD+~ z6uc^Bf>Vayh4j@Qkw91y@e@;l`d2gL)tM-&J2=WLNBWQZxy($jFMCi&=7aut4G#e) z(a<>ubr^t+)7a==z*p1jecAnhLQ^X+RfAv~epv{kcDlG%dIOf>pi=FR(46l%EjXqi zyPSz>=^&>NvSh6bB5!9v-tarLvR@Lq zc%=Q3JGRkDitLx<3c)mB9I;=rwHo%-b`fHaVFF}+OgBu@?ZY<0ubgCD;{Dte`C2zj zK8-;Nt9c_fOiFthPr|U$+(cg@y-{~8B*SNmPF|iWJnXfiRrEq8gtHFqYxR$WB|B~y zf{)UX{qw%;A;>F#LPsMWk~*|6`)8)25;&Utv04T}OL7Jon?9aAha~cbX+KVt0U#7f zZbv(LwB7Nc^&a<5oR=?8z6(xpcLNSk;lKbsaY?)x#&2S!*W0Ugy>SidoBB2By1-sE zXl+&(3nG?qhlaa+1Sa5v{Z4?x0!(@GW&qGd!?1yEA?zvhi#`Ad$rG6CzL|&l4MpwT zyX04LH*oaT38^R^nTpDc9{r=8)7LCpw#3V-CkGW)`j7K{4cx*l@G)-%X1{HDdM@_w z_z_}2BaSLTc734sw;`XNzmLH%z+Wu3+z)`nv05(nG?#G;KNJ}DYkBg$c?o1NXU zZ&UaXHP1AHuO13vhtJOGT}-bdjs@AB=?$kK8PNNh6a4DqZ%@ELtdD^@A5pMGjz7%cqL;!TLfxzXh#0w}cEZv4Z0&FAh0At&O zh8MEiur1*4Y5hZJy>~S}`m)~BQPQzoRsLolhh^;gH!zUOs{-nk;0u zw(P*MHT89OrXOlfq?%15I4B_(JBev2(2bG{-&2|xPV-BI(^?H&9F&PXfQap2Y()`A ziJzh#U-B4bYfcxpNYy25WFfDh`D-=7NDbuK$kOn17{I73VWx(W8*wc7jI6f zDc!CD0rwfP=Ihin@KS#7KS<1SyF&~L2q-3axmV0`bKOS882IY$0ebv?H$Hs}Gr{e6 zln@EOYMGv6QVgu9#ZZw`D)4&=s0hH#602gaP;~*aFthp;1Eq0~mxf>q@le8BFI*L3upTQzUb3%_Y(X990jxvupJ8OcKRW@#V>jN% z<1zZ12l!n}6kRxhxJ z5{y4y8;8-m;-Th}?%QQgRKmvuTBQJ&kNF3jj9dUGau#>*0ujjQ-i_}-ETlc$kB>Vr zwV{}e_R-G+QHUa7t^|M8{MHf-3TARnHU)#FT`?`4{}Mpun4zB%vRsrWW4Sm}gm2h( z5uB&(*nqCG-cW||r=l2Fjy4JNY~U+n7Mu;TjWPt;8Lt!F76OtfGO-ScI0-F6S z*=2z9k+R^YJQ#1<&|LN>c-jym(m__6g-X4rgb4R^rOm8k3x)HR*QetR=^Psfu~+#GjG5DK3lHpy5Tvk`!kS}kNo z2DvxcWDYR1_vS&y$S_kZFCD~Lh*-K^#8~7c=;v#E0g-*uL8IGe2IzGzITp)gN$sNo zj5%LB-GA)`s!JPwh``DRd#e@GP^~j)l}azf)Qd|d zbx*}DrP`^=hmH%|BgQ{+uXlIK)d0{rdKFCia-w*rXks^lBNnP6c2M85fsnOf{o10goigf;MNHwtt3=V#9 z5G0Fv?bJJ^1YZ}&`F?Tmp6pzDz$ZitERHW&dLX@?vu{j}QABhc^&Qn=qY|WbNQ(D; z(C2-UAMeHoIND7v3M(!5ZcJOj+inXm*Yyj#^G<^EDm49(;L2zRu;3r#d$*G zbnFM)_WNvGCOqJ)vTafD9%Y+C2-`G{9k8wSF^HPaFgdJn584DWL9Fi=Q2@$#O*z%l6wSyMF%)&9b^UO-ILy+xbWyv0 zxT@;|U&quBV=0O}DhELyjp@s7x9%H^6!z)Y`#)u{GWzc{t-O=cl)nU2l_x)ez6=)k z*rL8V=8IySCJ>K~4gt#&tR3>#T@){d+6R%LSJ899En0&gf#NO8m^h24JUHjE8w+9| zW$erjLid9-@zfopndMZhM`5~MgXM+XRrXfj`9%EWGvZTYB$i>=?0y}9WqKUsqklh( z7D3lwuDCPRwcHkXKe8Xn2STd122k1%%-!D07r9ek8xm%O-;nbKEgFJpN6AbGE=05G zD(7I0OBQ|{iOK*<_6j34r0FdH2H>U>(`s2y~UE*7o4O zhcaJPpw#P7CmhP%B=e$9}tGHv9y zsIg>J6gN?V?+8evp! zJTj?hf&x;gxAYdP5Z6vVoj5o{pQ}WINuCC28{l)A)+094U=;$YUZv+IKOzNfV z*_IjZW?XE~)tH*}7AOIqa3SAg1Tn`5#}aV0->m75@HCgC$v@2>{l1^Kf|B6AA2Pw_ z7~}s)GIocFikLeQ_##JB+zBk^-~I#qZ3DZ&aj?Lj_^9j5sr#{MhvpcT153yAQ{S_J zB)p#x4m{0UIP<%}h25B>L`9eRiSONnk|NxY$+&yLCU$9fm1)!qjoL`5Tmc4+q(6Xz zi5jPxh8GFzI%^jr5_g>cT4-L}nO_2@RF6xUAEDKxV1dRb$9?;ENCr=61SA%uG-PWE zMBigTF=)(h@FG!^Vtx=cpf#iZcBJIFs|0mYK~)Vb_eT#%ea%kk-1LT-KxZ(y-_i`n zU4Svb|CvW_r~kn|mPpwvZ|2VgTCCQcpr|3!mY+0ElWhJxqM!CB!O2*g-(EjwzvkGP zM*INbyb$J(A!3Kx!afA#L(dHXPk^ zTLVsx*7F?YoTm=IP}q;B6uy7_{KCScg=>(rY&tFtot}Eqd-B;QfB)qEqaV9%=%qq1kZRdri3>W)hm2U_$2@@SLe) zwK!-oLJ#zo`?W?%!!s~)+Yki-rniEf`=HhbDIyyho@O+OJm*v<$** zv3lf2mp}$1OCYX^G`Wq4LtsGTDgp0U;e0Yzqr0!XfF*Bmk1Z3(hs#hfv$1-(`r8pOVRrF z-a({ckG9_F(3!smBzT`idF-TNamFk6k66!NhMc013pOMzqPN^0lmgqJJylfe?`^Jl zKh@68gNODKKG(QgoGQ5(f%7KC>76GON$?QN?ac25nFaam%=22-f_y?*ja}`_KaN!X zGwtwVz(6`X^DEdyE|)n=hZCN}0GAHOz1uXU#=8j*ZA*t+@g*~4fF-@F_$C3*ud;lj zvxi@q^hSvn3Qoq8y1ydRHWrb#)2vhNJzi zJ3XC02Ne}@!=2kDO;2e1oIPwMcJ*+MOS-kexYx)x!Ls7QT2}4cgB9GQPeCB|&G#Lr5O_ z00G9z%{l3OqyNfC@!WKtiied z)^?GzhhJx5Sf8wu*zhC0-8l*)o&M|R|&==zwHI?^T zZx38O6(JrC@P0iGcOqnmXM-T!Mq;Q#njD{yK|q*$3VHyJ(T#`+a8gpt??-vdy=)4T z5vMuev>XVyP0<$f%9y_t{|s0w#q+z7w@E%b1c!;XDZgy z3z|n%bk)aZQF=`5F+~nR*N^= z(vK#gH*oY%n`9_M%R2KrfU+PsI`jM`k8+WfID7aE&d4AmK*7wDqUcCcjqW;==UG`S zu(R3TyP039v%<#C{LWBiH-#$WGb$t73j$>3a*&T$SrTNGSMyL4t2wF8bm<*v8k?Qp z1}ulN!;N}fO+oB%p~%!5@r!+2a|)+n>!uh=>7%FMkC-(dN;3Qej4x2H=0Jo3-PfL= zZllj)-gJEUd2&OulrOzk_sgk$VHHj`11CA-xJkKFuCsVAFm&d(;*(BBK{``M3`$%v z&wNY}wj-VcFAVK!HMgP|BP2_x1jRgFU=l&ibf=_12xf=Epn#a1GnGE7CaA*>M`Ch6 z_0>Skdl>Bm1N!ohf)E-!&%sCNm9nMnqipr%p8y=^<+7zoU#THlf*Pi6;7o5{z6Zdw z3sT1Exx6Fai+8NHVZ@KgtyNlzh_w_ElUM*i`M?UI5vl(=x1@JLSmsvD0uQu#tuKznZFA!oyEKH zX*$qrr~(bc2*YGEt8*VqmYw@pG!R<}E>|Q~mql(EKJ4rfF!hd|JuGT0x>*-3W`9Zp zY3z_q)Wyf~>FnV%PTIi>L@fpjJux4P{u)=2C<~uwenG_So-3>?FL!^*oBVoacjoV4 z#uz{s1IRS;Q$*nGA@qFp@l>$lf?$)PS=!Hgcl*6dNo4k?v&4u%?!g?~tEVoqs>W

3*R_i)fepYi4$6*;Aptv4|yw%P74Ks~U@m1gZ<0lf6xmaTX~$93jgK@gVJI`ixJAfKK2 zRd_BJnd0o>b1dDSV*!Eg%&%mIJl7QD<;Fq`1g=H0<$e{+qlc1TBgOd%X@{!EJdzu3 zmVg8W+m%x9L#SKqTo@GFl*I~Pr$A^vHd%-zsZ1#ugRYw`KggiME+Ip zDBPARw16#{1+RQCRoGYCyP%X_zXcVW8{DoaJn8(Z7Wcoscwc$?r{+Bn%iOUVA2;Fe z8vHHB-;ITFH+GKSbU{tWg@`~Uuf6WENAA!x^M>oOH;wBU@8>x$r9OCa;irdx2E?=@5C}m{FU(B zFLYf{b7SX)HJdJocU&0fk^)I9U^}s<`zf0)sO`A0)_*JXTzVNPoH3F<=MS~c9|I~` z^UH`%o$(}EyakI}mkl{rVa{t^m{q1lI~mycyV zngt|=)HuNJG!1@Bb`+!m(^n@i@D_w_&BG0FY^&zgSnk#9Xv^!n z2fl>qRTDoUo99K#Z5*ZC$)lBHeYrQdefJV)Vx-9hNiwzN*08!d-f)MFT!qQ3wKK8F z!^SeqeTIP~*!O|a4I9m`Lkjp14cra~fm`QX{)Xd>R|P`LIQ;@9RNvQ{{1guO;Gc)J zU4KY4_Vb$2w1z7I5#ii1%WOW>O5<$U< zM!Sk|P{x=yrvkZ7Ai2VIU<53BHQ4j*L%GqC}6V!7OZ(<=)fyuv_^NRAF{ESnjmjSPw`t%hXap z<|8dr&<#|bt~;bvQ&1PT*7YS8Qpe=EkXVTEudo~&?iOAA3fJ~Xz7odJ{S>sAT_F~o zCHNaz%ND+Z5+1eG)0uoLc74h_1U-j{+Q3yT9?m^;971u`iD za3NqTy{RI`-wvPzD`ve?AurH6G_XAsNcKOsRZ?Bi@9Y+=Bz^d!(n-;75ns&sw|ajt zii)F;CASjnJj!Crso7#Bb#a#=EYGZL65+wcp)L+^1^80x;+msMvT_adQR|lstY7+} zMacwD(wu>|yU*evjk+Oyu?bB0y(DlONFQE(w?T(Y%o7S&Fpx1#c|{JmrveO8D(%5* z@;Cz$9*7Lpu$OHEvlC`NgLE^v)|v0eAz#_M?Cbyc#gM#8BO1dCZK(OuS|Q|B8{dli zb|JZ#T!Ch@#L(t9oiZ!bIL4aXXbNV59 za!UBcAKLJ;G!H$zFE$ZJ$2UnXTml|UD0!bl8SH(?yC@8aD*3fpN&HvjL@^H^?stK?Gyk;E!_U4Ly%G0O zNq$0-`5D#|h`#^BF@v+D+oPH*{@8y_U^eEhWULZvfILu>7k#@uv@I+Hh-+&>EAqeWzYACUB$pkQb z!5De_t!$%)l3DIM2SeR^kzhS?&rW|CF0}JpfA34Rg-$uPh#$=U)k(d-swvh#)v;(2 z{PFOJ88N4oc#WQ8n1=fN{T*l7?c%q%GjR|uvcIETw-zHH^c2=4x4?kOElTc=n+Qv{ zRW1cGXYn}yN8_-jj~N8cayKAQ8Iv=PnhFweP_I5H1qhDMNR^!)!4Ytz#YV^%1_L>A z$P0egj|T)~dZv^`@oD}lD&!W|p~j1l zVDUTsO~UHi>Ly{iPXZ#1rb)G%{!meeO0^?rW-52mKJwSF4SvdeIq(S1mN1(66PuDu zzj%R6k-;YLsxVQeVCS}>V(vKzk_w47>?m?{;U=7l-#5ns7xdSG{+WZAXhW$!y}79h z0oL)LuPdRi^lD69Ky1066E_-SYZChsZ73V_{(+-djeCX?4@n&p2#pp1KV!50AtWj$KKY?5Tuh()M89C3??mrh#$UW3Nu{kYg zyYPZtSva4stcgNX>7YGE>hLmRLKoQcKFf*0e}D2`0Cw1L`?Asd_0c7 z2l2NZfB(nhtE}a3jIYlAQ7rR*{MqZRDahjX{(B)h`=g2Mb+PQeaFF^dG z)*d8N&-fz8@UMY^#Y?$43CI^JkdnDdGYxWcRj(;%BhR~0^nBRAAp^0%p;>y-!~FAH(~EFJESF&>B<$DmY@%Rq7g!vvMK`= z*eBR=fBySDp>|AXN1}iEtpE!4uHUF7;4O&bPv0eX2sd++%W9XA@Mn`SUx1N--RlBD z=gJ&4;H2gu;V~|=YX6=-!N%Zz0KJbKsE^>Cb|xlaxM3W{lgatpaGxML0U~0Y{iTwi z-anwspvET?X$<%gxPXp}TySTsIh-F3Xzw{PoCZxl2cUp$E42jK#`znH7-tV*yA9+KDo}Gyi(M7*2Yu>~ zj-`IJy;_zQy{fG7m)i!mq2a(HPRwTdvUsXXZ!vD^bC@PzLRF&;g8zpx4RbM0*PJF! ztYDMqgm7iSrA31c;fgepsh4`01G_GmvVBIvXmn)d!e;avet!*v-{Y8YF>xvK&7OTT zsw$E*kq#uXPi{#%e=^)>dF9sJ^YJ4J!F!EUx(=5I>N|FnfFQdc<4-{zE%zLZU)=1F zUrAE;@DtQh%dw>dFS7&=o69AepU6gF(qsz(3-mHUopfS)O&)ELGnt9+fWl6gIlxbzgfOQ)4C*?ZABmM6x%@sgN>dNMUP*aP2PT3g{x#IMh`ZHieV( zr(x{YI3LB&eF4m-^iXWgG{QSXDq$A5(i4z?pTqeLDwbHiUQpBiLn$+ePk%yeI*KE= z9>cr}PeC_OQZ2v1`x}Gyyb(Y_J!tAzSzMb+cZ4@WD|rKW^Q#*2ieQnPNNHzhyQgYP zay4C2kGm0`7_ju!@l^_PlVhmqhrrS5rn5fx=b91eQ{EE+GpBtTF?KKruqSN;+fh`l z3fgG;b_M&k=*uct_(c#27E(glBuG2AN7=jx!9FOyo`H7vmVprw|*|VT1GpO=MLcW$2VVC?^2l)%ZIV!YJi|)F&T zS+A@&Pt;7o1>WHI&=l2f@@6y%SN{g8f?E7Jh!K7HLcXqdVpBJ~FyHR0EW`Q5)#nIl zg0g-+P0s7#U{8mx_{&haK3Nn*-msQihg;SG!fX9Yraf#O<3T&49Hl+d0TY#d53KQxYwueOZz@+gA{G$JLSp*U3O1P1i zx{2vYZA!p_))2V-0I16GNW)h|c^G$sK<54X4 zRy)Rr8h7d?#1J{=i?}k6@-nIos{5MB4g9`|zFO`ZH%pz;pp%h^`ekMUk=^BIRYhn6 z{W0{QEF6gtRp#*VhkU9E7muKd0b?u&&{dM@*J4k|kg72lKQ>h;L6!uDYn4VTIA*lUxb z-xBeV-=uJNKTVS05itUXm1*FOxsD_b!Xs5WEB$A=zw?Q#VvhQE=J!OK?!{;cUUvao zZizibgwE!0foT0t#KK`Oiw5Y_;>3|>E+)jf>A&F(oS>dyHibSx+NDrhq_OMp_QciF zZ@LP0tHN|o`64`zGw8&*jXtz_->UE^+f4wdHjmzTjED8rvE1sepzJ}8x2(yOU8QCF z>R1v5=#TPiRQ=QVt*k3>Xna44prw3VEssY2D`s{zYGar8B&^(<*fy}}Y}iUzj0qAD z!QN*pcecrCh~^-YH^=0>f-qL73|6n_nw*2toO&zwW|Q;%XikHbJICbg4Ch$6x0vL6 z!pU4{%bjj=J{HZHZslf~oExG!Gp*biCg+l9&KXwjOq27bXwGaacb3U{T{LH|m3yPf zc^Px;5Cf)Ix!ES?*U_ALR&J5Wc`TZ9u9eH0oUcW5nyuUgCg)SpoJCgdLX-26XwG6Q zx7g%dAI(`}(VW#*?yV;0UD2F1R&IgGIX{}S z*2&kD62?idEix$syq#)&l<3Ry1oXLLLkkLa)P*lAz+`$D+?_Z?zlO#;UG zYa$8o9WRL_!0Ns=l7Ky+r$rJPEVm(?053Hees6BXd7I_oT5)mxZzBmaE%zspgflF6 zZzN&1<$fcQFcJc2+epGn%l*$t!Ya%CUL?VWKNd;2$#T0R39Bvl z&Pc)<-2Wd*SZlefBMIwp-*q^lwUsjGUJ^+YJ#*g@NfZ5YPmZLCUb*Q=n&^}J*DFJP z-zs|K{w|Ux`s4mMk|uiNem9b~Rp`4vk|uiMekPK(UEmx|8+AO_`{7)``GG$KUHK+k zZBB-=AOPsL%`#f&77>Na%`nNiQ1XzKJ5iG3?v+8Z|EuJ#*8mU59?uW;mU0u_GcF`M zu>UI6*+xP!T`08jL0l(p+LnO~U%fISj`Nto_n^SX(Y4{Sp8 zYM2{42PA92%-h8_AZUe+8NhV&NK8!nJ22fU#egz+5bHB!xqrG`1Od^kkh#+RZ6+Rt zR!Zn0r~Z}Gbhmn(my(0Ck(fKi7}DRKX1bGsbo{=B z#4&LH4mr-?IvhjR0Qpxk@lMQ^yC8VilC$)^ua4lPxUY_Y`a}>u>Gbqz(A~8XerVgg znfOe%&qEdvGpPVo!-;>+Q~VU#=O0uh!9ssWlZ3p&M3(K03vK3QVM5yEza_J+9rKJa%=4lptonrgaGr->!ToYFKMr`Y>Sp1EU5uc5<@_)zv{Z1(%^nqJ`(_kTJk1G&C+#~UDE>W)LfNA$ zZxs}$S5PE@;s`7RU}TOE%+Fy4jB4Ei5Pfq>v(uYrgkI;TKW+kMfOXv22=Y=jlQL)V z%V43%%+O^6xS}(v2)3`@8?stc57}Z`g8%6m`l*8TZ z#;$Wkzv!Rn#7y7+W2xXJ6cZq|tAO0Qu2RGQZtq**qb{!ff13wH2qs9>D5$G~M0xG| z{YW4If(fh;9wHSs$tIhSm)Q+3Q3DAI1P~Riwpc8B+FNQksNYKVo0{H`eHexXLLepqkPrba>$?5A#F72aW$|3 z9XVUAuNqn+OTOpSfGzD9!rdT;JdzlKA>5@LB1P6GhFt5bzC;eGOANWrS6w29lq80X z^HtB4LmY`A7!b~rL$rw@6MWU!C<&~k$e_fKiN0!l1DHcjVxCGx;7PvfIdaGwsu0zJ zyn6CiJ)a?38_h=i|8B3bm4;Me^tA3C0oJO<35KXs6$Y<_ONm4t+w zmc7tcNQ?#Py?Q83mMo$MkJ`<-itCVQ&qbCHr~0N~u9#6uLUWCzdRXvpC^%aEjf8-c zZaLsY^bY{rk4F;OW4&i3>DCv9ANAaNL?Y4rWxD(qKqynL^GzOi; zACloO&@rZTmo>oT<*N?93ab;@^rgoI@WhoDZNFgE{y-U^F%LpbQgKFxbqW$$mNR+Qh-kEA`fc6$8g{ERPNfy z)!~c0CtT>@Xs|<`N1^}4K~DH0zlggK{fBWEqVEze(f=+)3VgF3dUr0|}KwxpKlDeX7l`!c2d64E}^;K>=^PZ|B;r)^DXEid(K&D%JLJf~*tN*Nvcr0qbN`1H|@Q*lj@V_MJhlyFL6;px}g z4%|dHHYhlJmHavDAtLKfH%~>|5P4G?h`;9KRuq{;?mDba(SZ_36Z**JaDF2}I~Z@M zlf$5S#o=`g4273QKPj_V;?)2EWJ`N) zMk_72a~iq4MuzDrISAjgilsxjL+rOP8nlWbV|k@WD76`}GFtCZl4>S5^$B;t4t9pA zEh_7tkN$&O4kf~ZX%T@OPXK9&gJd97(2Dp+ImE&F0l#aMauQKaucK!|IoE>0)WyFa zX(SZG1&^K!(;(qNEGnd2#2D$~Nz#Iq0Nub#^U*2r5Cri>{4q)q#gPbGB1tt~RGb(B zayoaZ{fI0Ec>Hro~WAmY)%~ zYDTt?`5Yx^X&;K6YgpsN_JnNSbfDe|M7QTx51|XUn|+ZDTB@ORkdp}6#!v1nu^`qg z_p351(Y6Mhj^UN(lXjc)*;qGLyEMO(^is{zEf zO!2K%yeDk)P)@NMV;uQgb$IQe1W*OTB_KxN4K-0MEAJ>z!w!Qw0=9 zd!`%?oM5QfFqgK8t-)z{#Qc0=#+Eb$5P7my(AW?KS{F?JPM=LGOfNM)M0A=HsMw#9 z&R^G}v@V7RZ=%6xV@l8{Gg?`7L#7GD7yU!*JS;9YtKcbvbn%8N6yFY3Ax~2XG97@s z+>APrUEkv<$r&v)8>2*^OnY8TL{I_MRAQ z6kG8@BBYHGBGT^7Z(oTX=@~6%Mp33m5c`Kj4l#PqaT7$4qQqT=K_j+pBEcb`lU!vz@{m%cf??$4-7~V!MDnj`GwYt{ww^FA@YmS zhxq01ygHZ?BhN2@NMC;FhuF`Hh_S?&*gxo%njrS6w&v|1o-eW`9tVC8vfrx2D3Dui z%{w?`i3q`7IVcqH-Oau;dim~QUz6ImJ9RI6UNJtgfCBq>? zQ#?X+%Rn_ynUH(_Mq4a7nF*gzlDj6JoI3wtEP~95w<{6;#;cR`>8q1b?6jlCiMgZ= zYp9Bt_FPx+^+jeVaSp`eDBx7f49?Zf;3F0Ad;5a#P{8R$w2hMt1&WmQ1*iItGXkgn zGX>n#7n~R)LAFpE67rvBo9LFJ*aa>=`FwX)?{0(Jo48*g8+yesq$#&NMK{eBDh@<< z?<*j-;#-#J%OKIgcM>0TR<3~Ph6g%Q9EZH~*LVXaSVw`98~rXpK92`Jw|Y2Li#`GG za(GMk)dB+%K#7Wv@8UcGzNLfiQ!dp;G_^Moihc|L(K?X=&D-syc^JN7Yx-x0nw1Z| z;w3mT1q)AiDoSx>U4hw3<-n%x z%h`%N`-0KLvJ5VkRWw&CXNE=DLy{IX&_gBcfqKzTB0~H9xd~H_klUqlGJl6=-w#^JjMgZ0`*s=djs5`z{+R&GlmWkc zHb5+rM-Wa0T>~4rU@>=S#@(b_D>UKS7QI~!!=^_s?Hw#SNIE%43~7PgPazmL)Z;P+ z%Z$Z2j%#`!rYP?4!Dz)BkDqGp`OK^`y$$O-d2p` z+1>W(qhgz%0VDBeQ~~tNU^uY)M-@i9HPjx?x!oC?kS#$yT2B)0|Cl>VpjAx#O68LrD#&6a=PC~gajJ#=(R03OR#0HvQY9= z7MiFUDAwk5KA%IMb4lL-Dm`0Hs8fP}Pkwm=F7Q;ygHak7dxM1TJ)}biKUu z0^H#_dhv(wA^zic$fwwiX`Ll*1wbdEnaGJ82MsOUA{x4%y;7O-3sX&Yz*7 zHLw9!ZJw+njOJ#xU9di7xGG=+x?~KN4gxc91{MJ{8e{u7Ociys6=z+m;o&rxLySBH zA!7X{a%!VZT}%q}_cVo}N}BWJeOUz2lcownt~_4mk6g*o?>fLZaFS5YflK-Zd<6k< z@o{!OW8Y0=r38!5h~w+DFiD_vplR(fg}96#t>2>P@_v;zh+UL|E9?%uA1dfZi)Atc zXL()-;3$kdJcgD6rM`YA z%jZ*b<+TR9A!V#Ar4ox>1y?Xj0oxk~J5K>i1{et65G_KApB2!}CR;e{lm@duF}`kM zKf%{kA};u`rF*QH(xz=!vxRqmn!1oLEUYr=lL#!V6v>WEsJZnGh~7q3P8~T&1#F`C zV}3Kb8}8_L@Mx($ITkwsW@p?bmc33=7ceB7yMW(ctjQb>^NWi#nPlIN??Dtan8VZfd7g3@Z!F{ATdVE%MLznJ zMp)3D(fre*#SDgd*S_PN|04A&F_o9tp+H{6&X@C)=(;4Qyj5fUhTft2pMnu1&&W3*-%tQ(R^q(yBY+eKt6I8O$=gw=GsnUXrJzK+MvlfQ zw)~9JRfY~P5%hwfb{Q}8i!38kM-rWAdXYz6LM##kK$Qmi10cs=YEmJ`!jw3-x=cx* zw*E&i<;2@I(|RFhzIpX4K9;c|0v!?Ha&s8%HGR@Yk;KO~_`5Hp#ba0QqHD-M4fD4* z0x>aBN$pV%c8lQs$f+l41w=H5!DuHO-L-s}FKqyIkR_@F$I!92MBL8c3+C`8iZbQJ z{xn|nXL4QfBOe|hXS|TeIz9spex}Jp+M*au2q5JNznK1j&u6ouv+f3fF*|DL zdi660#2o@O%s-q;AgBd#J5wA;dcHRhdXLyBpSDwr)HMU$!A`kE>6QfnhvkP$sIs9L z;Mf1H>(F<=a&*%VN|s6F=X&9&1Jxhp61B(RP|xGP zdi_!Ez3cBUz%Td)Jz`au+>Y}z7xi0-zW`w0N|Z|_gyCHP;UoX+OnBp>$11YVmHO(s zoC$FL@&Lt2tk1K?Q&njYvt_(`lu)I!g>SDa740?N6%dO@XnB?fov_q(A8Ws~UI0K4 zF{VAA5lgaswR$y_6mZsX>_`(D5MO%$f~jEmTM_`1*J|;VKhCr`i-z!OxGR7|9B!QQ zAtp5p?{C;7rVX*pP+nBb9G$U6?1jW$qSiD{220x*SAYa%;7Y!Io8zt%dXj>SE<;{a z%p@VlS~Za3<=2+aS14bORy-Cc^Bb8owJKj{L*EZY{bQ^uUzZzCn;GKl>49)`Jwq>2 z?1$j(8TZENCU9?8HOBIw@ehz^0*&Q-B03tEP*)jDM$2H>HE~!m+(7)-Sp7`Nc)GnM zV&$O>m7xj`Oo!Vsi+mT$`~`$iaTe;ei@uS(R#XbVuN#A~IBL$hCo|R({tze`PvGMU z1t)1%m3mMlKobz^%C(?GEwyKoJ}byd6Q6bxTUmsHsba9`ok##sDH-diPZ z)WTRVy&*EPf*U){^=BhQ_E*izx4f6OVXpjvBf^o!1y7))G9>1QSoMd-3o&$Ng3^4> zps5jA6Tp-nQrXbULPyLh-4~GYILZA8D!RAQF;{%qp_S+khTNRei~&6<89Wcj#SzFv zw*x&WmJkZ01_1VS$3WM*3VH%b%nyG_81%YPm-P*jS25kH7yaIWf`b-Bynhz@$*7;5 zejxHW=|?;oQ#AS^W08VRWI!^C53tDl9M9mC%|lo-{RAwBnN)NdLvHXzDo}ID9V0&3 z@QqU&nlMSCChna~+%6DT3}Psn{JqY$*ZEXkRP2{J)i$^9IRns>_KWfd$~LFcl~Huo zsL8pnr>z|uOeby}G`ZXlI>T>V+CB>RthIkw zFE4Z5F+?n8RZAb9j|HAx*kXJ*Wi*5rqzfL#ceWz^v6TK5(`+5#PkeJCccYkX9jNmN zu_|oa3*om%wzqWjv~?^P+TN7b!xx=@I0We>V=)O3Z7(EjUzOMITHNC?-wBP2^^~EJ zYj}TiO3a%G5+P~QlS+WqLnBWLh{VC1&~L$P0Qlon&X2zr2WRWR@Z!E6c?(N*dgQwz zCeEbMU4r;wdKsCb+In`<%dSj3g3VAhBez4+qEIm>3!cHT!#9a+g!mzt<=k4$%VCqeGZc>A2QWcmtWEk2m(cM0c%3^xt?E)c2P7*DX1ZdezM@|Dkg#f6=q7p(y@!!j%1k>4dC^s1jK{o~S6b~9Nb&;5$q11E_)uGC37RY_hZlKf{<5@UF&1$DGO}TR!jr_Q!ok76UN`PvkQM`Xw?voK%D7*Eh^Av7c z+c0Xq_UTy}>x7mBA8OR((|Qmr*W%`8pV4{?9MmF@iq^L7Mqohh-^1;rm*dLI+saD^ zy;L*QF~#pK<%L=;jbO1bgrOw1*BwA3X*oEar@6jL!UV&q(a3}x2`SPoIdrZFDN@*K zo(guf(yYDmeB)9W4qmjIGV8=e&qDN-juc8;bRP0hkHWAn{OmSBdFlU6!6#VVe` z;G^tQrQR+9bjv6uvI5GV3>3RQKSNlQ=*v+QfOzUkep`5|21!fN7kWc)5jubhyUp?_ z{6QHs7gsLEWeQe8+6q$+yqko3B(d0-d;lKF8U>>HKqt*zClq1bb)3){dule3<8G3& z0)GqMl${v_6s3^_^hSGX4nb~-LsDZ`An~dmlX80%`)SfKBzPO4pJCLYw5}{HWm1n# zV~}A8!+;t-<-!LlQ!eYC_}Kl_wj-NU+Bc^hKv^*HU3lR0Br06@vqX-~`DveGF%_Ez z@G&(z_Ka^9WXqo3b_7KpcVHZCS09CaWzpfB$tZYW$HzFNb_BkdQNkye?ET=TV@$eK zxCMm|kF>fow(!8IwtFz2^60;0-KyB4WYGAuoGpD9fyOfLZ5@LI#~(xPipdxjBkR7;+2 zdL_?{O{5yEnV`6P7@V*ok=ft$gqU9>`K_GTT<1U%;K(sF_1enOGL$%qI=%Y5ETZm`9n2#j9Ax)NMod z;p04X@S1jq1trL0{)VG3asv88%fV43@?$aNmxNAopz_I5XH{RcMykBphS5>K3Va+A zv^^6w5t=eBTD5SHY>wlH9_b%#R9$=&Q_evQ^28Yd%m#_A{8t}{B6h42R0DS43uaPg zY9pu(q?ZdpG&bn-HW* zULJpd=(w0Ho@yK-MlYqD>!_SqDay;(MC%xMTbOY-ONoLsEz*frkZ-S#N6mA51+LAb zh%}f;WZIWSTouz&E`aTiT%!H4JXUyAOUa%EUz(r7SGWZa&LH4~VKHV(z>sFK6P9K< zNN&I{adttYOmXmcMG3*Z0K@V}!Fg&x-lHh@sp|vX_#piHg3k{Xd_n70;AQcNZ}#mz zRPcFxHLE(Ac0{6Y!mh|}aim!0`$gvw(MHAQlSz%H>?goR+lTz6woizh;w_Fm{vqez z4s_C}y!h161m5HNru!LsSK)oOb5)^gLW#Ooj2(DfsQLz2k4Ph-Dtis_IsfsavZWhjApPT2k<5Bh z;S~00hCd`a^{OqE{GQG;t!qA~QNR3Yu}5)#wK8o-sshh9Mt^~H&@wk-rTR?U+%)WM zfolT}I2WWtjGc&`ml1VxCVDsEX}=5IE{?j4-T`-%t_oK;Zrwvjn+vFHUqzi`=V2uw zOmjq;bOv6TET`?Ug60E%t1O2TJP83VHU~i~z^0M>v>polQDPR$4Uqhwr z#5r^I2h@Ixpr{Xz#Jp*V=WJg|qy4vhg*wY)0ZLWX!!wJb~`HZqxWKi*bw zT%G$(h@(^wX^#R4@v$~)6TAlyBvCE~P=AG3o`^?=;!ACvxW{EfK?hEUt8@4qsY2Vq zaXR`I=$%Ssy$5f3x>4{ej$)B&*=;ZA%GffABXw`gPsQ|AtnvkQQ+PD5r1LF6@}U*t zil|<$`d0G21CJOVUc@P)vR~$FcvGT&0$GHIC^D=4=b-rzN{|RF%G-4ZmG>CV#;eN< zfr0X(I$-w|p|SRl+7-$v&4Tw7cPl%>#Igh32|x+aDgj?bAT~!+7ml=JoKN)(_c;Eh zZLa)PtaNqGvHk_K5IPf!7>F-lWHcqtN4XGiSP4kz%DIz@;k&aP-{OuEVKGDX!bm*9tB~lCsNQ-1RyhZC(~AGSB9M-7^4vbk z34Of{n>jaO8+pQ6w;&_ldag(-g84vZM>t_I>^B))y!YG)iQ;s3< z3PAA@AnbmlP8N}%lki8l<%{h`wH2SlPQgtetJHQtPB9zjLHKZ3I`60#AMGao6h#pk zlPD#U9(*yINXW5UmpfYzQgd4J2<}jY*-npgJa`Z%jOq0vi)g{YfWzzkz6P zJNmS@vos(ArYcakw`O&FOKhG5&dpO6Pv4{_(zm^BA#b_8aSrEdZ^V?*85GOSS!Aqp z!y&JlE30Y!wl}3A&}Y}WL6KCE25{>2kcdD~DIDsy- z<{(YF#Y%UQO84?9xpcD7;T#Tf3~CfggcXDmQEOq{6&j|6r*x z3ODz0d*%X1*$>;VgdY%)qQ8dUX59HEG!^A;K)KEA7ZK3kQXt@C5*EB$4K#3VKgs>5$8D#Pa$xGa5|d?ITEnJjr352A8U{mAIcIZQB?kg zX+yGx(mfDF>Uh!_Ihq~!hS0~rCe`Za^ICk2m0o@gcg zDzH~304n$@vW_|zS=K=baDK*;izFXJ?F8W>S%)#(B>Xb-lgqa{Q_jt6M;~#pP75r+tRJ1E;FPO{$@*FbPdU;Js*#W1=jv7zqSkM4azuYL z%+c8Y2KtLC!PRhLByfl)^abq&Yo9!r(#>NkF*N*&|8|c82O!7Ao0o6crVFjmv_DM#YDjuKP zjlM_hHI)ReXlI}(4`2kTqx}wNoHU zV1BGyp`~wldCeh!)uD&F4^JR>O-27+ zb^vpG3*gJ!qIu^mvMPw*7C5hgARN6(C3}_WFE^YEc*MpblWo5Zzux*%_y+mv+P@6#nBVrofj?%>8`{w}pX2$dxem3y)IOIpqm=*lKnxCEQbAq4i*=G|!xAJovKOf}hc7E>Q=Wc%P;pbj{?&D{e zpZodw96#Ind61t+`1vY7kMi?Les=KlI6pi2d5oVY_!;5nNq%>M1Vx?y%YTnouP{<3B$RlRMUH(CS@5QC`Zx}eqy{;xb9P}Q^~s~d@5A6a^78cU&8buWi(%(Z!; zP@pkfRbQu_>aVH^lvDJA#>VGOgvr%$Gfs0 zKZh0)d`e?DzqE38prO7o?9k2$HzGxCxV~OnQ;(PWMs49Nt(@VUKv{iVxpqp>Uso2; z#&ZyuIkZ!OAaEG3Evl-+OF7}PJk)>`!xedWZ$eRwhKc1hHIh_ZRn}M^s;>xZ=T(K8 z{59Gs=LCL+FJ=itEdpY64VrX$T>Vw;_Zt*+95pMFS-SUKki09WAOOSifAmvc9QN+aOTWmig;oP)03Y{7SVAA@Vmh2F7bcfq<6qQI)s6 zzO1P>P#2CRDx!rZO47uM6D60Dbe+F8plzyKT35fk&Lc_XrIn2h;fZC0TWHl>P_-B+ z`zr(5E8W_ebBl`LKc%J$2}@F8WnFz^0Pfi((oDi1w4d4-fRD^a4sC6qwjMnF2muOgDCZ9<)h|`U z%GBVb&HVQNfV5MsSpfhw=vl{stxh@$ZyiploR|mm&vMEG=%BTGbc|PiD;B zZf(P?nsRnJNp75F#Nyfj3H~@jS~p{6SODP?tZ%9**OmrkAI6oC<2D^YdsRxI ztqR53D$97$rU+K9WC5)-J?dHjqLdqwFI?ZCt*_9M6p;xPOI)NSVDqKLL2zSPa4DB3 zq+MPW4k}Vi+ZYHpHP&e%Oqv2$La_7)yLfs*o^NtqzOQ69Cww-Tf|>c}gqb-jzkql2F!;Suwu9`h?VntnV955z|W5 zmvKMQ7w&Ay-#VtI9Bac8ct%z{B@BTJg+BK}egZ=W>O#6FfsCEeRxt)-@*N zL0^u(VxnOIl0sh}M%lr7GQ-yd{7cdCOC|MT6eBKvLg;CT(dDj2Dk4D!p;*^cTZ+bu z?zg-b1n^WMpbzKR#O&PusJB9&7Al!p0()tou`W=fXeij%%>8}5Q#J{QYLF!O3HSV}y7KzvlH7Ywu3wQS)so~v)NoaK z*k4)`pj4{BNmWXJA1)8nEfalTC|r)xFXN2-%NN66>R&ie8%(%~Ni_TyhHe>=CETKUv6(LcDPG(g=OAVWokqFL8aCP-z zZJ@5csWPYyHTa<)f_h-GH zfm1jG!pk&Z`itx90xPP*lh96KX_?Y7y!3X87cX~xLjVca*M;gqhw{L(sFR;E#4 zMT1~pqD-8M646J`^l3tlGE8k#O&GGU5xpA8XIZYt(;S#Ca-?#!A%G7X;xCokxuPke z1FNm7OQf@o%hPZDfMu#0>+47dMS8$h$K~l47Ocj~YKRdfSOd|iqNX0%p_Q||V>W%6@Kt)&Q(=)ME|N#7>Hs(G8u|tpr$-@6~tf|WUQUw zS=2UbyAa5gFn)ckWXDxO^tY!21)qG z@GVnH9wZG)%1kLJC`hHBStt1jSes+>Ef}08S#`SkKFn}wwKN+dr7a0A!4FDF!wUS; z03i*Q($Zk1;g6hBeN(uhNp8=$VF)s0aY@eDMY^$!D^y-!iuMdtMSG@n>9@Et5LU`j zAF7}M2?G>OSzJ-iv3=EGWsFeIvb3AqADvp!ZotMR_G~;XRKA z3r_gE@dyRNq%PD@qHfA>;&=%|5os|@MOjUKh@}zWnC3AuN+cLa;7~kzhb(5i=)JbS zF7{rA4vQR3@DG$v;BJy;fMxema8Y@Et>PBlXgpjS3lA@^lb}5;4PcB2TMGNDmiy~~ z7c`7jfyNqtT{+$Z5R~K>kV4CrN{~raa7rN%KR972bT_|v*UIme4N?dQ_%RNq!BJxq z27!K5V`CU*LRk>43f_3v#@{hyZmOga75wWtTe79PRb(UyZF9LFIMxN0PgsSa1>uEv zZTubMK}I(OJ#R%-S-nKIBrw86p}&EOB~_sdL^4uUV+~Az(}56TJJp*fyS#3x1ftgZ8<$FDs{&G4untBL1`4W#5wO1;RDvxjsbeU=stOc>EtLjpDyy1m z$(H<0VHj`{h|D%R79ud-C5(0(F=EGj0U7YaQm*HvRiU61M&79B5b*`oG5Lj-p^iZ+ zyicgDFGnwqFvU%D1wOJ{3f0sv^CP{`(v@-@*O4tXgezf6QGZmY7-t102-K^%3RM1F z*OaZ)P_vZlI8X_o33V$`-ytNe@++-h$|G)-p9lv`om5u?eyAxG^$na+?^1O`ov3$U z08rF@i0hwnP|8jGKxo01szSsQRC1~%MoW@;qY6z;68s?wfp_Ks!co+BEJ?*JR|(*l zAHV~RAs8sF!8ok!=IW-DWj9wZQA@bVE`uqB@e?mm{g5pMLJcrv*Gd62lt5h*Oce~5 zU;@>9{9TH_198Ql+L!Wo#&mtyaNr>Hq8eq_Ux!5}|ON|iT-QOsB|gd6bX zfhL#`j9)5eHiIAXK^rIo8%SlLm1qZHm=L!IVxDlLzZ~jPeI3LDwGr}D%a^zx^!zGx zXBYr0e$;;D=BxOT4HFb?OjM_6PrxJAeo#8O?bNB*A?Bx*i9s|_;OKqU6rYp_vltbJ zX*2F9r#otE9cX3c_>I>V0C za{>)v#WN3$D};He8BHwGVAnC9=V6+V1ZlCqk!d-e&m&k#q zi!tk1zci5VUls`EqqUcXeKr1-`8?4XPyXNb*8UvSLiwltdHh}RQ|tvxG@1D|HO1&< zbFSr~2?nPK%y%r}qJ*0&7GW~H7U2`i8X6=OtTOr^5Ox}dTTmXj?Wof$gZjdW^~&ep z>Hk%5`**@9^`Y2fAZzn|+9|UOpayHF<`otdy}Ss6ta(*|<%P9aPasDq#<~f-sK#;NcrqKGCC}Lb%=Cl;GTt;fbng77qMM=- z=d`(n`J@L9MBmw15?Drnq-NGt66jfA`@`eh_+xRrhtj3By%gDyoBWj@xwk@C*s&U`>tN$Y5$oB z-_a|)cl>{)JNFjQ6BO=Thbzrtl)Si7701{1*A)1g0{^Ed@OAtDKULjd7xrrk^r3*F z4|GCV8-n|N$Vig5&tHzD{Phj%>oc7d4pKV$|7(@{{v|@Lk>YJ-*W@xLT! zu3zO(iLdQLrT=>#q`OaqA)EAfq5#{pu=@4yzeNE}QVK1RNxPG=k8kDPeqQt3~R zL>{@Rck)s!{o8kPj2luV>4vv&ep@Roe!Kc@LtpqeJAU8!xg_atS7Hhf8b@ZW z*j?2ahr;fJO_QTXVXuPS4x5Pi9Bg9hy|7{N?*wo<217hg=e7w?G9U}vH1?&uQEc9S ziuF^8aL3B1lnz7XA)EZjrt(nOP#7hQ(j5jvHr)`zw2=L%yi`^)s`tB9?^{*xz%2%Uuj>6i)jQQE)eG?lmA4D`oWf#TqoFtX$G(a~*i;TR zNMficC&7IE`{xBPzeBPnyc{N8YaW{eVlO8SYu|9;p17Cio^O5W{9eL?sg4WloF{hVy?k?rkd zLtt)$Jp#gTJ-Jakt*}$z-%K{#E67Ita@pTUHsD=yc#a%CTK3n9YTsMuY>uZrSdFP37+-8}W{kjdYH{rt%+zeLn2{vb`5} z2He|W6W$NX?rpH?yTqGhdo|feXN7Fnz#fk9plp}Jz5wn;vb_K{(Y=Ih`1@dI!Cgc) z+_|znUbeI4@GRIDB0OETCD<1sUgQ?o@IN8jon*uRIP6Q{e@wQI!X63t5!r5sO?2Kz zHsE)V4Z3WHeHr|>$@V7LM5pzzuYiBEY_En*^}K>?_=jbi+XdLJ25#zegRp7O)*{(1 zfjtgxpKKSw*20}H+qtltWM}yjo?O_>KID-^K!NHT=mA!@dDF z@fX>|U!+Ucz@O|OY!mDyvRwk3@R$xe7q&~biT}u-_>L}CGr^y1og6-1wsTIR~l@h`D7Y`4RvdUy^th3|(= zW7&POy&E>w_jcIy_3Z~?FNAxmY;ThNi7$y?R>Mtp4Q!w#Et1_uvYYsp{E2VL7C+)- z=+7)!WUoFJwW|LeKayLLL{bFLG?I!WA)z0uFeI6l_#^41{066`LwcpAkYwQALZUW} z(FMbh96(FrC&?bb@RQy!x?o6>9iSK_B*sP@O42CtM{+#zM?Fa5kNN_%PDt#3<&PvY z#%g`=5qVNS+~1Gnp7P7Yg)8YWX)q};63m$!%?1k9_ zvm0gy%yyUuVYb0+h1mqN9;Ov$HB19c5M~Js!7qUE!Ays7!I)rjU`D}Y!(_pv!*oOT zb-^_36gnm0PHl;PIgg-Sd2z+ z$}jyTjf4~1{o>k1HzDGOXEXZXW_llVNFz;zalw3YL?d;={2b4143=7GZ+DFxy{nx>(wOr;>`3?v&C@?Dhrp zI!$2+=NdT!U${|PE8Mej4vCynlLjYc8~7YC4n|4RcPW)A^|d${P)=uS^Q3>o(-p-- zs@D^i^8$@@W*%o2aDu)nOxw{2;k=|0`9M-Y@si%)RGS*9q7+ZAcRDA>$A2X0W8#S^ z;>gvMaAS?gtWjEl@+ybWrhrb^+FyfP322|SbUkW;PE7XppDz^<{d;>$n>9rNY$)yH zkNv~gg;tZ-&_E^0lPZ}id31hSYT)B{d-s0kwf0$5Y59!{^gGr*sLm4;9r4D1<75 z;~eXgE_6wXA&AL4fhFl9f+8L%!C_Kqtl(Wg&OkI2;&@S>^a!WoBZst|-f5$_ltyr~ z3X19de!fqjAbyfe@Ny_m`mUy!PP$FTSO32 zkx$ZNG)z9KHtk57Qxm`r^v%-Lnx;^YU?(?K;B+tA=ti_EZbL8!<1F(5xFED`OCsC;9*;oyx4Lj(L8Z)xlBFJn8y^*)t1b zl90RA{}Yez$@jm|N=7P5tc8w7>q84>zmI_WI(Fi(ML%x0eeFOL}8Nk0`0RQFz{I?F^zheOZ zeehp!4Em%TPBzru%y*#Qs@(0;5zdb4jVSvx+jFDUUq_Cuw$Q8n0l~j+Dp^$P?G5pBi4|hn0 zXhe7g#|9rj{$UJ*<$wpVde?>P>DS_PD5Z$gg?MWD8PCBl`^0mhaSr{Or8RO|51`*Y zUrI{p=~*L!@Ko|?lO_PGk7N1xrIpB~5vk5ZjyO%lF)$y*X{AVmK-0%~Ow}x>m5h6@ z=~X9<#9CyH^eJ7bFNc9f&Gbq<9jDQBP$Tr;qR%90l2icte8hMsQaKTG%2z3CP%6So z=wHuKR)ubpBp2#nn50qBEgrU?deg$>kxg7e7(QSKw3UO-Sb?(|$hEq0`vqNM$9zYvHPr zmNE^fj0!y!9$6%nNSC6lG-t3D;UsJ6r_ehEZ|7-t_o8?ER)QhE|FP%B_j( z@a+7hk=yWK(0?;z<0o9Usmu}O{H#=Q%0$eWDYIsbfRx2DG%nl95?VtA@Tg+CluILe z$!smg9|||B;V$e0H*lK7=Xq%LKIR0RR7QzI*pD(7G{Sjbq`w?bEowpZ7Jjsm0Hm7| zhxmkI2>)c+pLTSV0B;d%6jQnXnxuY)_%U9WTI?^>Lxvi$vm{ee+PUbjs74wPBL_St zAZU+FyiN9&wmC>ez+Iqf@dHD}X+ba|H&IKHWa&fIN?=3MQVYqXwB|Z#EaGXw|J1hX zVG}2j#0W5C1!|YLn&fDZVQ{LFYaFNi;ai1g0O40~ZsbD}VI|V3XE@5O9B-7WHbFj< zE6yudNcl*M`U&320dDZc$)Z;KGN#!DG?+1@iiKtuw<_O|#oB#$y zTsjX_Mrzw}EnpOCm8h#lT?)KJuU><+sFl|sL|w*ssYb=9^3TS+Y=Ate{I$qe^gaFO zN+Srt54|z|DzPt*<(xYxggi1)DSddP+@LHBl0OKJpd1fJ^BQwvhZxTN10 ziFx;qbMXM&G6i*^^b?7B^v_+hfu&j>RL8jxc~E)7C`Uc>qPi4`Ww^Xwe2NgS6o16W zXUl2)Ib#d{>reKJdZxO-tpLC_5wCNnEaLz3DPML@oTm)fR?khXM0^s#xavpb{aDL<*>>BI3&-I||Vb_zcXIwvb z9d!ND^=sEVuJ>IZySiP2+{4@#xbxi8-No(?+}C^V@jU3+<7xMd_vU+Ncpvcor}q`_ z+oY0eu?DQc*>2r^x^L-r>K@bW*B#dVPIp2l=?Ckt&|jk;r#I;H^w;Yb=ojnj^Bj(?jKQVu99&X9DjI~U(cq~&aGb{@& zi!JwBp0Q}GY1VXWrZvl&Z5?IxTBllDt@l|UvHsBds`X9lht^N5SK4$ouWhES%GO|8 zZ@b$z!hV_EV$Zb)?Dh6-_U-mZ?Z3Bc977#>j_VzB9m^bTj(Z*Lj>C>j=f%#k&WX+` z&Kb@{&QfR4S?3HpS2>%VcRDvY?{z-teAv0$`90@8=Mm?{F1M@L^-b5Ku4i2@x{ia& z-L6aBW8AN~-*mt0{)_ul_fSu^=Q7XLo;=S?&&{4PPnG9!&#Ru-JtMtiy-sh?yTSX6 zx5N91x7&+Bo)iJ;hk<8j>E`K{=)$_&bzQp8beZ~#KJd5`wdSU zerwPe2N{PNCmBt~xyFUY<;K;qA|NJ`?4-Nxww@pnkVL&5&i7XmAlkxk;r;YCz-!*2MMw-T&rkd(ZD^2T6yG&1lW1Qv^^Ahtn(b5K6Mp!B=jh3HU zUbM`yF1CKp`jmByt5wP)H*cDwx>_EP)9Xi1OSzh{5ke$Z}rOn1z3 z-0pZ3<-OSHbZ&G$>m1^`!sT?$bG_{Pz_s1o?mq0k%QM7#A=*fxce(cfl>s9%%o9mA z-6CD3?g`zKx=Q^!`cD0DLzCet!=DYqjNdTcW_-~2y3t^&G2LQ1VH$2OGOskhVt&{B zzPS?8;Bm-;3$2%0wU7jM>m2Ki)}_`a>kjJ=tUt0oXFXtj+4?K%G3&cl$(Cx%uw7`o z3bj;cyVbVFmX2~1+rO}naM&CLj@gbThtGSXceQsN;k5*Nf6#6nx+%H}UA=C)ey)BY zT4)WVoz|c?*bE-S48uZ01*F>ppz8{dWtN)dLJS6;= zhW|9~HC}DH&g3?oHhpO-1}~Lz{hTzXgPUBIGVs%FmR8F*EpJ+eS}(C)XVs&gR$JR3 zv8k+&Tc5T5!up!^4Qr?M4cl*RAJ{&&U28Ykr`TuMm)UQ#uLqA^;V?S>;TZ4S>$IWm zRJ*jmc@d<*NbirSzM3ItVLhySQx0r0rXoGugPuXe_Tk9C(80W}!lslG!T0e8V zI%l3U0NH=1^Kr0eAe~6s{``q3dr_3?tpujJJ~bBWAYSw zWoV(3@TbmZw@qgGQDb|^wj0vp@3u;N$iCaY z&;B#}^Y)|mckF+%4?`(dpac&%_Bnp)IEI#XqjQO~9Fn!h*#O!4vhyuxr!x&b*Gku& zu7_NEAWdI)MO>5JmF`XMZ@GVnzUpK51W$?Qe$RH#a~{cS_f7@R2fep?@A2*-I_}_q z=_1_(-E7@*-NU-Qx)*fWdbhq*e?NMq@1bYUF_;aL4T}s_hQ|%B7$S!Aj2EFqI-|>Y zz0nWZ*#_D93-s<6LCVZT-@eB53OK&oG}q^%c*R?JaYWh~sPrbh<{Pyv`l%%`GxB^nT+1P4a zZ`@?uYTO1XvE8`CxZAh~+_=y9q;bFTIpY`RFU?7oL6#ww^DP%xF0x!|8EG@xjCPyd zg&r*5{*e7u(DsBd={Vn+a`akIZp+Dbnh2dtyPYrJvzA#(_%_Gm~1I<4&CY#2Yo-w^@3YniYe`dZA z^?QS*3Oz@=6tl-XD6O_8#=UC1})zm1|U|q#LXo zrn^u#Qg^j(yw0F2)ZM77(yh>~)op@)w^#RL-7C7IsO8hT9<-Vqy+c14{c;5~yC(fO zgB?A^W9Zioq20V=IEmgO#dw}^INHzU#?i(c;{>DISY!+vKQupNdDQYF%X5}@ET=%p zYtSb=W<6?s%le*e5$e6xeye?x{a*VH`wt=8avT#JW{1mBggznQh`5HjH@Kg4_js-% z{*$m52G3EtJl%7;cXdC|-)T7CIMY~Wybk@-TGIj3%cdFTg_c#;BeqlEeZBK$=W=Ld z7S{#fddZXO$?;6^_&jsLYs|6SjsPc{rT3^imJMi?$Oj0AUG zZ5V49XPAWE#A-+~R+$c&H0D(EdFEl};pVaEO)AXQ<~nmDblLNuyS9PD{%lzY{q${U zU+-Dpw|-##2%73=)-SAIT9a&pY!BMz+8?xc+xI$p93!0h&IQiH&JUfE>wHKQqpQ$W z;kw1O#kC7P-no^tXI-%Bsw29(m37t znDI5^P3X}-GG&<`H~$UN#b;RoIlj}9ZoSBQg>|&`T5B=15I?wog|*qb*}5G)+>g+^ z9kKq>dffVF>&MnJ)>P;rm)pkM%r*~NM}_SkNc;n~!?yQrDfSEOMbM|Z?Gw<`d!d)i zN1cWouQ=XwoN^>PFK}Mv9OpDS-OlOG8=MQ#hFYDQoewy_gMRUdv%~qW^8@Fn&Mz@~ z$#m&m4%ZY{k!vorfkUoWp#%H{He*`_qh`wyPaVezkE5=mFf)dmB zOhe5R%}dQcGaoX4U|w!{*7Cf?jPY3w`1cveutw-H`)oh8zh?i7{rl*NUv_jjPC7n! z40bx4i=EZZE#SRhI!6HWd9H1)WVgjV68z`zOy|CSIkb{rdEWMX>AA#fg$DVs_fz7% zTGb)jyqu1)u%?pght`b#lx@*8#=J~Vu8kc>l&*=SvpjCSKR=)Z$Z!%Z&J&8F4h z{=b;cgFd<3e7)sH%Mwd9>T*45^C8P)meZC|*0GShFIao5Lv1(NSK6P!IOhwy%~9r9 z?z{~n#Rr_*oj-Pd;!JjBxh{3-TrP}YZg!QsR=L)>(t&v+bovwSg`SPj8PXtEo*`U) z8rGl2VMOvJMt4IDnTCrDqYPJ}SDk1uVYHlUm})38%r-25#4R^e8yXDDF!oz(SZ~;3 z*k<^aVTa*S!(PLW4Eqf~Hykv)Y&dFo%W&NA9{S;r45uKUC5&X!jTfNABvY?-WJvKyTd}VVI&uw08mlqF-vs=&gXVh;Pa2*BZm$}S0kad3 zbEkk+im}@ynbmsj5lFOS)(*6aPK?nUqD+J|IIv8CD4Z7b}}(B8J9CGW8B zfhM%y-flmF{<_27X^+^u&`Kmnnj_PZ?I07 z*x}d%ooPSDrAMIqbvQaP?(cGRJ0xeCGt-&v)H-vVI;YKJeqqX(U ztr)59aP9$T?svAMl^sPp>vTq(UCwSulr*%oY?s!R0}imca$VD1KGy=*5?9dG;9B8o zcCB}9#Vo=O=wka^`(5p>Bd(*+EjpoGE_#15EQ~db7P+Zw|Bqn>Uwu zbO-h#!fL>5#0t#qH0xU-$u~i#-G=eyc4&dS^?RV*?$bZ1-;ep8cKt#95&f%>^~dxb znEmP0pU_A2C-q(WQ~GY`Hj*L5kY-2+r)L?m!Rxr88sjGyI6WWQago7iC^0Ny4nd}0 z|Nd7|0L`2C9TQUJ4*#--GVJD=WGpY6)KF7i-mt7pYz6#Zh4a4>nI#aC3*-!FEw%j{ zl60%=CR+J!=KU?~L)$RAswL@5Ih^2kd?C(ElNW{O-k_15BL{xuo;g{sqxTPPnqV9P YyWFuzCi)@}eUU=+hVoK^`q%&dACk3bd;kCd diff --git a/3dc/plddpvc.lnk b/3dc/plddpvc.lnk deleted file mode 100644 index 92e6d8f..0000000 --- a/3dc/plddpvc.lnk +++ /dev/null @@ -1 +0,0 @@ -import '_InvokeDavesDirectPlayDLL@4' plddpvc.InvokeDavesDirectPlayDLL \ No newline at end of file diff --git a/3dc/readme.txt b/3dc/readme.txt deleted file mode 100644 index ca5a186..0000000 --- a/3dc/readme.txt +++ /dev/null @@ -1,147 +0,0 @@ - *********************************************************************** - - - - ALIENS VERSUS PREDATOR GOLD - - - *********************************************************************** - -About This Document: - -This document contains last-minute information about Aliens versus Predator, if you have any questions, check to see if it is addressed here first. - ************************************************************************ - -I. MINIMUM REQUIREMENTS -II. GENERAL TECHNICAL ISSUES -III. TROUBLE SHOOTING GENERAL GAME ISSUES -IV. MULTI-PLAYER -V. CONTACTING FOX INTERACTIVE - - -I: MINIMUM REQUIREMENTS - -The following information is the minimum hardware requirement needed to run Aliens vs. Predator. - -Pentium 200 MMX, 32 MB RAM -Windows 95/98 -300MB Hard Disk space -4x CD ROM -Direct3D Supported 3D Graphics Card, at least 4MB video memory. -DirectSound compatible sound card. -Mouse, Keyboard and any DirectX supported controllers -Internet access (only required for multi-player games), TCP/IP, IPX LAN Card or minimum 33.6 kbps modem. - -Aliens versus Predator requires DirectX 6 or higher to run properly. If you already have DirectX 6 choose no when prompted during the installation. Should you decide to install it at a later time you can run the DXSETUP program located in the DirectX folder on Aliens versus Predator, Disc 1. - - - -II: GENERAL TECHNICAL ISSUES - -Here is a list of some of the known technical problems you might encounter. - - - -Graphics Cards: - - Aliens versus Predator detects multiple Graphics cards and the resolution settings they are capable of. Although the user can select the highest resolution setting possible, the game may not be able to run due to memory limitations on the video card. For example: users with only one Voodoo2 card will be see the option to select 1024 x 768, but will not be able to play the game in this resolution. In order to run at that resolution two Voodoo2 cards are needed. To fix this simply select the next resolution down until you find one which will work. - - -ATI RAGE128 chipsets: - - With the drivers that shipped with some cards, there may be graphical corruption such as in the Main Menu. The game may also crash when the user tries to enter the game. ATI Technologies is aware of this problem and there are drivers that correct it. Go to http://www.atitech.ca/ca_us/betadrv to obtain the latest drivers. - -Nvidia Riva128 chipsets: - - Aliens versus Predator makes use of blend modes that are not simultaneously supported by the Riva chipset. Nvidia is aware of this problem and are looking into providing support with new drivers. Go to http://www.nvidia.com to obtain the latest drivers. - -Voodoo 1 in combination with SR 9 (Savage 4): - - Texture corruption is sometimes observed in game when the Voodoo 1 card is selected. We recommend using the SR 9 card instead as this does not exhibit the same problems in this situation. - - - -Sound Cards: - -Creative Labs SoundBlaster Live: - - Currently when exiting the game, windows 95/98 will sometimes crash with a blue screen error message. This problem has been corrected and Creative Labs have released a new driver that corrects this problem. Go to http://www.sblive.com - - - - -Peripherals: - - Logitech Mouse with 3rd button mouse wheel - when trying to assign a key to the middle mouse button, it may assign this function to "Mouse1" or "Mouse2". To function as a third mouse button "Mouse3" make sure that you have the latest drivers from Logitech (http://www.logitech.com). Also access the Windows Control Panel and double-click Mouse (Click Start, Settings, Control Panel, Mouse) to access Logitech Mouse Properties and click on the buttons tab. Go into the "Button Assignment 2" menu and select "Middle Button". This will enable the 3rd mouse button within Aliens versus Predator. - - - - -Microsoft Sidewinder Force Feedback Controllers: - - Although these controllers function without any known problems, Force Feedback is not currently supported in Aliens versus Predator. - - - -NOTE: Make sure you have installed the most recent drivers for all your hardware before playing Aliens Versus Predator, this will help avoid most issues. - - - -Windows 95/98 Issues: - -When pressing ALT+TAB and/or the Windows Key on keyboards Aliens versus Predator will minimize. Problems may occur when minimizing Single and Multiplayer games so this is NOT recommended. - -Because Alien Vs Predator is using Red Book audio (CD music) there is an occasional pause when ever the CD seeks to a new track. This is a general Windows problem, there is no work around for this. - - - - -III: TROUBLE SHOOTING GENERAL GAME ISSUES - -Question: I'm getting low frame rate when playing Aliens vs. Predator what's wrong? - -a) Did you try defragging your hard drive before installing Aliens versus Predator? -b) Do you have multiple applications running in the background on WIN 95/98? Check your taskbar and see if applications can be closed or disabled like Virus Scanners and other utilities in Windows. Programs running in your task bar use system resources, to check your system resources, right click your mouse over the My Computer icon, select properties, Performance, if it's less than 80% you may encounter some problems. -c) Select a lower screen resolution setting in the game. -d) Did you set all the Details Settings to Very Low or Off? - -Question: I put in the Music CD but I'm not hearing any background music. - -a) Is autoplay enabled for your CD-ROM? If so, chances are that Windows Music Player or other Audio player was initiated. This frequently occurs when the Music CD is inserted before executing Aliens versus Predator. Simply exit out of the audio player before starting Aliens vs. Predator. -b) Check and make sure that the CD Volume Slider in Aliens versus Predator is all the way to the right. If you still don't hear any music while your in the game, exit out to Windows and go into the Control Panel (Start, Setting, Control Panel). Now double click the Multimedia Icon and select the "CD Music" tab. Make sure that the volume slider is all the way to the right. -c)If your machine has multiple CD-ROM drives (CD-Writers, DVD-ROMS) they are sometimes selected as the main audio source. Even though systems may play music CD's just fine when not playing the game, make sure you assign the correct Drive letter to be your source drive to hear in-game music. You can do this by going to the Start Menu, Settings, Control Panel, Multimedia. Now select the CD-Music tab and change the drive letter accordingly to where you placed your music CD. - -Question: My game keeps pausing for a second, what's going on? - -a)Because Alien versus Predator uses Red Book audio (CD music), there is an occasional pause whenever the CD seeks to a new track. This is a general Windows problem, there is no known work around for this. - -Question: What can I do if the game is too dark?. - -a) By nature the Alien versus Predator environments are meant to be dark and scary. Certain sections of the game are designed to be so dark that you are forced to use different vision modes to compensate. If you are having trouble seeing things generally you will find a gamma correction utility in the Video Options menu in the game. Try different settings until you find one you like. - - - - -IV. MULTI-PLAYER - -Aliens Versus Predator has an eight player maximum limit. Because of the amount of information being transferred some lower end machines might experience lag and very choppy game play. Some things can be done to help this, however, the basis of a fast game is still dependant on the host's machine speed. The faster the machine the better the play. -To compensate for laggy network play the host can designate several resource-saving options. When you get ready to host a multi-player game, there is a large list of options for tweaking, every machine is different and responds better or worse to specific changes. Things like locking out the use of the flamethrower will help reduce slow down on all machines. We recommend trying out different settings until you find the one that best fits you machine. - - - - -V. CONTACTING FOX INTERACTIVE - - In the rare case that you should receive a defective disc or discs, you should first attempt to return it to the store from which you bought it, taking with you your receipt. If, however, you fail in your quest, you can write to us, call us or email us at the following locations. - -Fox Interactive -P.O. Box 900 -Beverly Hills, Ca 90213-0900 - -Or call 970-522-5369 - -For more information visit our web site. -www.foxinteractive.com - - -Fox Interactive would like to thank you for purchasing this title. diff --git a/3dc/vssver.scc b/3dc/vssver.scc deleted file mode 100644 index b8acc32fd01b5dc34b096febc45f91e624bacef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 848 zcmXw%ZAepL6vxkW(_UhOY_!bu zL-a!QL6AO#5h*%jh=!n4t_giugd=1n#K^KDnx*{@@m%{XEeMp+9p=UNRZ&DLMyd|i9P|{I-Mfi1KmrFJa)`K<8z6xf}mjf-gKHDn%7%7FucARA9S+0X} z?`q=mM;j(jv>tL^d-+%J2C&weZWWvdzVKjRJ2S^OLSc_9BK%G?BwPM?1s?(rKMj@c zcjPF`aJCj44s=e5`*q;tc~OUVs~Pu^z!OaC>dkEaHa?h-xkm>|*BoZzQ7Auc<@q&!-}y zPDjbv{@{$0|7W0-=(?$KUeu$iAo3X+Hi`K5Dx&;{uiALNylYk9m=yUg{)bdeR5+hh zi~QTb8`Ynm2u{=ywU8~Jextra))-((u8*)(smk)))+4) - -typedef struct SmackSumTag { - u32 TotalTime; // total time - u32 MS100PerFrame; // MS*100 per frame (100000/MS100PerFrame=Frames/Sec) - u32 TotalOpenTime; // Time to open and prepare for decompression - u32 TotalFrames; // Total Frames displayed - u32 SkippedFrames; // Total number of skipped frames - u32 SoundSkips; // Total number of sound skips - u32 TotalBlitTime; // Total time spent blitting - u32 TotalReadTime; // Total time spent reading - u32 TotalDecompTime; // Total time spent decompressing - u32 TotalBackReadTime; // Total time spent reading in background - u32 TotalReadSpeed; // Total io speed (bytes/second) - u32 SlowestFrameTime; // Slowest single frame time - u32 Slowest2FrameTime; // Second slowest single frame time - u32 SlowestFrameNum; // Slowest single frame number - u32 Slowest2FrameNum; // Second slowest single frame number - u32 AverageFrameSize; // Average size of the frame - u32 HighestMemAmount; // Highest amount of memory allocated - u32 TotalExtraMemory; // Total extra memory allocated - u32 HighestExtraUsed; // Highest extra memory actually used -} SmackSum; - - -//======================================================================= -#define SMACKNEEDPAN 0x00020L // Will be setting the pan -#define SMACKNEEDVOLUME 0x00040L // Will be setting the volume -#define SMACKFRAMERATE 0x00080L // Override fr (call SmackFrameRate first) -#define SMACKLOADEXTRA 0x00100L // Load the extra buffer during SmackOpen -#define SMACKPRELOADALL 0x00200L // Preload the entire animation -#define SMACKNOSKIP 0x00400L // Don't skip frames if falling behind -#define SMACKSIMULATE 0x00800L // Simulate the speed (call SmackSim first) -#define SMACKFILEHANDLE 0x01000L // Use when passing in a file handle -#define SMACKTRACK1 0x02000L // Play audio track 1 -#define SMACKTRACK2 0x04000L // Play audio track 2 -#define SMACKTRACK3 0x08000L // Play audio track 3 -#define SMACKTRACK4 0x10000L // Play audio track 4 -#define SMACKTRACK5 0x20000L // Play audio track 5 -#define SMACKTRACK6 0x40000L // Play audio track 6 -#define SMACKTRACK7 0x80000L // Play audio track 7 -#define SMACKTRACKS (SMACKTRACK1|SMACKTRACK2|SMACKTRACK3|SMACKTRACK4|SMACKTRACK5|SMACKTRACK6|SMACKTRACK7) - -#define SMACKBUFFERREVERSED 0x00000001 -#define SMACKBUFFER555 0x80000000 -#define SMACKBUFFER565 0xc0000000 -#define SMACKBUFFER16 (SMACKBUFFER555|SMACKBUFFER565) - -#define SMACKYINTERLACE 0x100000L // Force interleaving Y scaling -#define SMACKYDOUBLE 0x200000L // Force doubling Y scaling -#define SMACKYNONE (SMACKYINTERLACE|SMACKYDOUBLE) // Force normal Y scaling -#define SMACKFILEISSMK 0x2000000L // Internal flag for 16 to 32 bit thunking - -#define SMACKAUTOEXTRA 0xffffffffL // NOT A FLAG! - Use as extrabuf param -//======================================================================= - -#define SMACKSURFACEFAST 0 -#define SMACKSURFACESLOW 1 -#define SMACKSURFACEDIRECT 2 - -RADEXPFUNC Smack PTR4* RADEXPLINK SmackOpen(const char PTR4* name,u32 flags,u32 extrabuf); - -#ifdef __RADMAC__ - #include - - RADEXPFUNC Smack PTR4* RADEXPLINK SmackMacOpen(FSSpec* fsp,u32 flags,u32 extrabuf); -#endif - -RADEXPFUNC u32 RADEXPLINK SmackDoFrame(Smack PTR4* smk); -RADEXPFUNC void RADEXPLINK SmackNextFrame(Smack PTR4* smk); -RADEXPFUNC u32 RADEXPLINK SmackWait(Smack PTR4* smk); -RADEXPFUNC void RADEXPLINK SmackClose(Smack PTR4* smk); - -RADEXPFUNC void RADEXPLINK SmackVolumePan(Smack PTR4* smk, u32 trackflag,u32 volume,u32 pan); - -RADEXPFUNC void RADEXPLINK SmackSummary(Smack PTR4* smk,SmackSum PTR4* sum); - -RADEXPFUNC u32 RADEXPLINK SmackSoundInTrack(Smack PTR4* smk,u32 trackflags); -RADEXPFUNC u32 RADEXPLINK SmackSoundOnOff(Smack PTR4* smk,u32 on); - -#ifndef __RADMAC__ -RADEXPFUNC void RADEXPLINK SmackToScreen(Smack PTR4* smk,u32 left,u32 top,u32 BytePS,const u16 PTR4* WinTbl,void* SetBank,u32 Flags); -#endif - -RADEXPFUNC void RADEXPLINK SmackToBuffer(Smack PTR4* smk,u32 left,u32 top,u32 Pitch,u32 destheight,const void PTR4* buf,u32 Flags); -RADEXPFUNC u32 RADEXPLINK SmackToBufferRect(Smack PTR4* smk, u32 SmackSurface); - -RADEXPFUNC void RADEXPLINK SmackGoto(Smack PTR4* smk,u32 frame); -RADEXPFUNC void RADEXPLINK SmackColorRemap(Smack PTR4* smk,const void PTR4* remappal,u32 numcolors,u32 paltype); -RADEXPFUNC void RADEXPLINK SmackColorTrans(Smack PTR4* smk,const void PTR4* trans); -RADEXPFUNC void RADEXPLINK SmackFrameRate(u32 forcerate); -RADEXPFUNC void RADEXPLINK SmackSimulate(u32 sim); - -RADEXPFUNC u32 RADEXPLINK SmackGetTrackData(Smack PTR4* smk,void PTR4* dest,u32 trackflag); - -RADEXPFUNC void RADEXPLINK SmackSoundCheck(void); - - -//====================================================================== - -// the functions for the new SmackBlit API - -typedef struct _SMACKBLIT PTR4* HSMACKBLIT; - -typedef struct _SMACKBLIT { - u32 Flags; - u8 PTR4* Palette; - u32 PalType; - u16 PTR4* SmoothTable; - u16 PTR4* Conv8to16Table; - u32 whichmode; - u32 palindex; - u32 t16index; - u32 smoothindex; - u32 smoothtype; - u32 firstpalette; -} SMACKBLIT; - -#define SMACKBLIT1X 1 -#define SMACKBLIT2X 2 -#define SMACKBLIT2XSMOOTHING 4 -#define SMACKBLIT2XINTERLACE 8 - -RADEXPFUNC HSMACKBLIT RADEXPLINK SmackBlitOpen(u32 flags); -RADEXPFUNC void RADEXPLINK SmackBlitSetPalette(HSMACKBLIT sblit, void PTR4* Palette,u32 PalType); -RADEXPFUNC u32 RADEXPLINK SmackBlitSetFlags(HSMACKBLIT sblit,u32 flags); -RADEXPFUNC void RADEXPLINK SmackBlit(HSMACKBLIT sblit,void PTR4* dest, u32 destpitch, u32 destx, u32 desty, void PTR4* src, u32 srcpitch, u32 srcx, u32 srcy, u32 srcw, u32 srch); -RADEXPFUNC void RADEXPLINK SmackBlitClear(HSMACKBLIT sblit,void PTR4* dest, u32 destpitch, u32 destx, u32 desty, u32 destw, u32 desth, s32 color); -RADEXPFUNC void RADEXPLINK SmackBlitClose(HSMACKBLIT sblit); -RADEXPFUNC void RADEXPLINK SmackBlitTrans(HSMACKBLIT sblit,void PTR4* dest, u32 destpitch, u32 destx, u32 desty, void PTR4* src, u32 srcpitch, u32 srcx, u32 srcy, u32 srcw, u32 srch, u32 trans); -RADEXPFUNC void RADEXPLINK SmackBlitMask(HSMACKBLIT sblit,void PTR4* dest, u32 destpitch, u32 destx, u32 desty, void PTR4* src, u32 srcpitch, u32 srcx, u32 srcy, u32 srcw, u32 srch, u32 trans,void PTR4* mask); -RADEXPFUNC void RADEXPLINK SmackBlitMerge(HSMACKBLIT sblit,void PTR4* dest, u32 destpitch, u32 destx, u32 desty, void PTR4* src, u32 srcpitch, u32 srcx, u32 srcy, u32 srcw, u32 srch, u32 trans,void PTR4* back); -RADEXPFUNC char PTR4* RADEXPLINK SmackBlitString(HSMACKBLIT sblit,char PTR4* dest); - -#ifndef __RADMAC__ -RADEXPFUNC u32 RADEXPLINK SmackUseMMX(u32 flag); //0=off, 1=on, 2=query current -#endif - -//====================================================================== -#ifdef __RADDOS__ - - #define SMACKSOUNDNONE -1 - - extern void* SmackTimerSetupAddr; - extern void* SmackTimerReadAddr; - extern void* SmackTimerDoneAddr; - - typedef void RADEXPLINK (*SmackTimerSetupType)(void); - typedef u32 RADEXPLINK (*SmackTimerReadType)(void); - typedef void RADEXPLINK (*SmackTimerDoneType)(void); - - #define SmackTimerSetup() ((SmackTimerSetupType)(SmackTimerSetupAddr))() - #define SmackTimerRead() ((SmackTimerReadType)(SmackTimerReadAddr))() - #define SmackTimerDone() ((SmackTimerDoneType)(SmackTimerDoneAddr))() - - RADEXPFUNC u8 RADEXPLINK SmackSoundUseMSS(void* DigDriver); - - #ifndef AIL_startup - #ifdef __SW_3R - extern s32 cdecl AIL_startup_reg(void); - #define AIL_startup AIL_startup_reg - #else - extern s32 cdecl AIL_startup_stack(void); - #define AIL_startup AIL_startup_stack - #endif - #endif - #define SmackSoundMSSLiteInit() SmackSoundMSSLiteInitWithStart(&AIL_startup); - RADEXPFUNC void RADEXPLINK SmackSoundMSSLiteInitWithStart(void* start); - RADEXPFUNC void RADEXPLINK SmackSoundMSSLiteDone(void); - - RADEXPFUNC u8 RADEXPLINK SmackSoundUseSOS3r(u32 SOSDriver,u32 MaxTimerSpeed); - RADEXPFUNC u8 RADEXPLINK SmackSoundUseSOS3s(u32 SOSDriver,u32 MaxTimerSpeed); - RADEXPFUNC u8 RADEXPLINK SmackSoundUseSOS4r(u32 SOSDriver,u32 MaxTimerSpeed); - RADEXPFUNC u8 RADEXPLINK SmackSoundUseSOS4s(u32 SOSDriver,u32 MaxTimerSpeed); - - #ifdef __SW_3R - #define SmackSoundUseSOS3 SmackSoundUseSOS3r - #define SmackSoundUseSOS4 SmackSoundUseSOS4r - #else - #define SmackSoundUseSOS3 SmackSoundUseSOS3s - #define SmackSoundUseSOS4 SmackSoundUseSOS4s - #endif - -#else - - #define SMACKRESRESET 0 - #define SMACKRES640X400 1 - #define SMACKRES640X480 2 - #define SMACKRES800X600 3 - #define SMACKRES1024X768 4 - - RADEXPFUNC u32 RADEXPLINK SmackSetSystemRes(u32 mode); // use SMACKRES* values - - #define SMACKNOCUSTOMBLIT 128 - #define SMACKSMOOTHBLIT 256 - #define SMACKINTERLACEBLIT 512 - - #ifdef __RADMAC__ - - #include - #include - #include - - #define SmackTimerSetup() - #define SmackTimerDone() - RADEXPFUNC u32 RADEXPLINK SmackTimerRead(void); - - RADEXPFUNC s32 RADEXPLINK SmackGDSurfaceType( GDHandle gd ); - - #define SMACKAUTOBLIT 0 - #define SMACKDIRECTBLIT 1 - #define SMACKGWORLDBLIT 2 - - typedef struct SmackBufTag { - u32 Reversed; - u32 SurfaceType; // SMACKSURFACExxxxxx - u32 BlitType; // SMACKxxxxxBLIT - u32 Width; - u32 Height; - u32 Pitch; - u32 Zoomed; - u32 ZWidth; - u32 ZHeight; - u32 DispColors; // colors on screen - u32 MaxPalColors; - u32 PalColorsInUse; - u32 StartPalColor; - u32 EndPalColor; - void* Buffer; - void* Palette; - u32 PalType; - u32 SoftwareCursor; - - WindowPtr wp; - GWorldPtr gwp; - CTabHandle cth; - PaletteHandle palh; - - GDHandle gd; - u32 gdSurfaceType; - HSMACKBLIT sblit; - void * ScreenAddr; - u32 ScreenPitch; - - s32 manyblits; - s32 PTR4* blitrects; - s32 PTR4* rectsptr; - s32 maxrects; - s32 numrects; - - } SmackBuf; - - #else - - #ifdef __RADWIN__ - - #define INCLUDE_MMSYSTEM_H - #include "windows.h" - #include "windowsx.h" - - #ifdef __RADNT__ // to combat WIN32_LEAN_AND_MEAN - - #include "mmsystem.h" - - RADEXPFUNC s32 RADEXPLINK SmackDDSurfaceType(void* lpDDS); - - #endif - - #define SMACKAUTOBLIT 0 - #define SMACKFULL320X240BLIT 1 - #define SMACKFULL320X200BLIT 2 - #define SMACKFULL320X200DIRECTBLIT 3 - #define SMACKSTANDARDBLIT 4 - #define SMACKWINGBLIT 5 - #define SMACKDIBSECTIONBLIT 5 - - #define WM_SMACKACTIVATE WM_USER+0x5678 - - typedef struct SmackBufTag { - u32 Reversed; // 1 if the buffer is upside down - u32 SurfaceType; // SMACKSURFACExxxx defines - u32 BlitType; // SMACKxxxxBLIT defines - u32 FullScreen; // 1 if full-screen - u32 Width; - u32 Height; - u32 Pitch; - u32 Zoomed; - u32 ZWidth; - u32 ZHeight; - u32 DispColors; // colors on the screen - u32 MaxPalColors; // total possible colors in palette (usually 256) - u32 PalColorsInUse; // Used colors in palette (usually 236) - u32 StartPalColor; // first usable color index (usually 10) - u32 EndPalColor; // last usable color index (usually 246) - RGBQUAD Palette[256]; - u32 PalType; - u32 forceredraw; // force a complete redraw on next blit (for >8bit) - u32 didapalette; // force an invalidate on the next palette change - - void PTR4* Buffer; - void PTR4* DIBRestore; - u32 OurBitmap; - u32 OrigBitmap; - u32 OurPalette; - u32 WinGDC; - u32 FullFocused; - u32 ParentHwnd; - u32 OldParWndProc; - u32 OldDispWndProc; - u32 DispHwnd; - u32 WinGBufHandle; - void PTR4* lpDD; - void PTR4* lpDDSP; - u32 DDSurfaceType; - HSMACKBLIT DDblit; - s32 ddSoftwarecur; - s32 didaddblit; - s32 lastwasdd; - RECT ddscreen; - s32 manyblits; - s32 PTR4* blitrects; - s32 PTR4* rectsptr; - s32 maxrects; - s32 numrects; - HDC lastdc; - } SmackBuf; - - RADEXPFUNC void RADEXPLINK SmackGet(Smack PTR4* smk,void PTR4* dest); - RADEXPFUNC void RADEXPLINK SmackBufferGet( SmackBuf PTR4* sbuf, void PTR4* dest); - - RADEXPFUNC u8 RADEXPLINK SmackSoundUseMSS(void PTR4* dd); - RADEXPFUNC u8 RADEXPLINK SmackSoundUseDirectSound(void PTR4* dd); // NULL=Create - RADEXPFUNC void RADEXPLINK SmackSoundSetDirectSoundHWND(HWND hw); - RADEXPFUNC u8 RADEXPLINK SmackSoundUseDW(u32 openfreq, u32 openbits, u32 openchans); - - #define SmackTimerSetup() - #define SmackTimerDone() - #define SmackTimerRead timeGetTime - - #endif - - #endif - - #ifdef __RADMAC__ - RADEXPFUNC SmackBuf PTR4* RADEXPLINK SmackBufferOpen( WindowPtr wp, u32 BlitType, u32 width, u32 height, u32 ZoomW, u32 ZoomH ); - RADEXPFUNC u32 RADEXPLINK SmackBufferBlit( SmackBuf PTR4* sbuf, s32 hwndx, s32 hwndy, s32 subx, s32 suby, s32 subw, s32 subh ); - RADEXPFUNC void RADEXPLINK SmackBufferFromScreen( SmackBuf PTR4* destbuf, s32 x, s32 y); - - RADEXPFUNC s32 RADEXPLINK SmackIsSoftwareCursor(GDHandle gd); - RADEXPFUNC s32 RADEXPLINK SmackCheckCursor(WindowPtr wp,s32 x,s32 y,s32 w,s32 h); - RADEXPFUNC void RADEXPLINK SmackRestoreCursor(s32 checkcount); - #else - RADEXPFUNC SmackBuf PTR4* RADEXPLINK SmackBufferOpen( HWND wnd, u32 BlitType, u32 width, u32 height, u32 ZoomW, u32 ZoomH ); - RADEXPFUNC u32 RADEXPLINK SmackBufferBlit( SmackBuf PTR4* sbuf, HDC dc, s32 hwndx, s32 hwndy, s32 subx, s32 suby, s32 subw, s32 subh ); - RADEXPFUNC void RADEXPLINK SmackBufferFromScreen( SmackBuf PTR4* destbuf, HWND hw, s32 x, s32 y); - - RADEXPFUNC s32 RADEXPLINK SmackIsSoftwareCursor(void* lpDDSP,HCURSOR cur); - RADEXPFUNC s32 RADEXPLINK SmackCheckCursor(HWND wnd,s32 x,s32 y,s32 w,s32 h); - RADEXPFUNC void RADEXPLINK SmackRestoreCursor(s32 checkcount); - #endif - - RADEXPFUNC void RADEXPLINK SmackBufferStartMultipleBlits( SmackBuf PTR4* sbuf ); - RADEXPFUNC void RADEXPLINK SmackBufferEndMultipleBlits( SmackBuf PTR4* sbuf ); - - RADEXPFUNC char PTR4* RADEXPLINK SmackBufferString(SmackBuf PTR4* sb,char PTR4* dest); - - RADEXPFUNC void RADEXPLINK SmackBufferNewPalette( SmackBuf PTR4* sbuf, const void PTR4* pal, u32 paltype ); - RADEXPFUNC u32 RADEXPLINK SmackBufferSetPalette( SmackBuf PTR4* sbuf ); - RADEXPFUNC void RADEXPLINK SmackBufferClose( SmackBuf PTR4* sbuf ); - - RADEXPFUNC void RADEXPLINK SmackBufferClear( SmackBuf PTR4* destbuf, u32 color); - - RADEXPFUNC void RADEXPLINK SmackBufferToBuffer( SmackBuf PTR4* destbuf, s32 destx, s32 desty, const SmackBuf PTR4* sourcebuf,s32 sourcex,s32 sourcey,s32 sourcew,s32 sourceh); - RADEXPFUNC void RADEXPLINK SmackBufferToBufferTrans( SmackBuf PTR4* destbuf, s32 destx, s32 desty, const SmackBuf PTR4* sourcebuf,s32 sourcex,s32 sourcey,s32 sourcew,s32 sourceh,u32 TransColor); - RADEXPFUNC void RADEXPLINK SmackBufferToBufferMask( SmackBuf PTR4* destbuf, s32 destx, s32 desty, const SmackBuf PTR4* sourcebuf,s32 sourcex,s32 sourcey,s32 sourcew,s32 sourceh,u32 TransColor,const SmackBuf PTR4* maskbuf); - RADEXPFUNC void RADEXPLINK SmackBufferToBufferMerge( SmackBuf PTR4* destbuf, s32 destx, s32 desty, const SmackBuf PTR4* sourcebuf,s32 sourcex,s32 sourcey,s32 sourcew,s32 sourceh,u32 TransColor,const SmackBuf PTR4* mergebuf); - RADEXPFUNC void RADEXPLINK SmackBufferCopyPalette( SmackBuf PTR4* destbuf, SmackBuf PTR4* sourcebuf, u32 remap); - - RADEXPFUNC u32 RADEXPLINK SmackBufferFocused( SmackBuf PTR4* sbuf); - -#endif - -RADDEFEND - -#endif - -#endif diff --git a/3dc/win95/bink.c b/3dc/win95/bink.c deleted file mode 100644 index 6050fbe..0000000 --- a/3dc/win95/bink.c +++ /dev/null @@ -1,208 +0,0 @@ -/* Bink! player, KJL 99/4/30 */ -#include "bink.h" - -#include "3dc.h" -#include "d3_func.h" - -#define UseLocalAssert 1 -#include "ourasert.h" - -extern char *ScreenBuffer; -extern LPDIRECTSOUND DSObject; -extern int GotAnyKey; -extern int IntroOutroMoviesAreActive; -extern DDPIXELFORMAT DisplayPixelFormat; - -extern void DirectReadKeyboard(void); - - -static int BinkSurfaceType; - -void PlayBinkedFMV(char *filenamePtr) -{ - BINK* binkHandle; - int playing = 1; - - if (!IntroOutroMoviesAreActive) return; - -// if (!IntroOutroMoviesAreActive) return; - BinkSurfaceType = GetBinkPixelFormat(); - - /* skip FMV if surface type not supported */ - if (BinkSurfaceType == -1) return; - - /* use Direct sound */ - BinkSoundUseDirectSound(DSObject); - /* open smacker file */ - binkHandle = BinkOpen(filenamePtr,0); - if (!binkHandle) - { - char message[100]; - sprintf(message,"Unable to access file: %s\n",filenamePtr); - MessageBox(NULL,message,"AvP Error",MB_OK+MB_SYSTEMMODAL); - exit(0x111); - return; - } - - while(playing) - { - CheckForWindowsMessages(); - if (!BinkWait(binkHandle)) - playing = NextBinkFrame(binkHandle); - - FlipBuffers(); - DirectReadKeyboard(); - if (GotAnyKey) playing = 0; - } - /* close file */ - BinkClose(binkHandle); -} - -static int NextBinkFrame(BINK *binkHandle) -{ - /* unpack frame */ - BinkDoFrame(binkHandle); - - BinkCopyToBuffer(binkHandle,(void*)ScreenBuffer,640*2,480,(640-binkHandle->Width)/2,(480-binkHandle->Height)/2,BinkSurfaceType); - - //BinkToBuffer(binkHandle,(640-binkHandle->Width)/2,(480-binkHandle->Height)/2,640*2,480,(void*)ScreenBuffer,GetBinkPixelFormat(&DisplayPixelFormat)); - - /* are we at the last frame yet? */ - if ((binkHandle->FrameNum==(binkHandle->Frames-1))) return 0; - - /* next frame, please */ - BinkNextFrame(binkHandle); - return 1; -} - -static int GetBinkPixelFormat(void) -{ - if( (DisplayPixelFormat.dwFlags & DDPF_RGB) && !(DisplayPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) ) - { - int m; - int redShift=0; - int greenShift=0; - int blueShift=0; - - m = DisplayPixelFormat.dwRBitMask; - LOCALASSERT(m); - while(!(m&1)) m>>=1; - while(m&1) - { - m>>=1; - redShift++; - } - - m = DisplayPixelFormat.dwGBitMask; - LOCALASSERT(m); - while(!(m&1)) m>>=1; - while(m&1) - { - m>>=1; - greenShift++; - } - - m = DisplayPixelFormat.dwBBitMask; - LOCALASSERT(m); - while(!(m&1)) m>>=1; - while(m&1) - { - m>>=1; - blueShift++; - } - - if(redShift == 5) - { - if (greenShift == 5) - { - if (blueShift == 5) - { - return BINKSURFACE555; - } - else // not supported - { - return -1; - } - } - else if (greenShift == 6) - { - if (blueShift == 5) - { - return BINKSURFACE565; - } - else // not supported - { - return -1; - } - } - } - else if (redShift == 6) - { - if (greenShift == 5) - { - if (blueShift == 5) - { - return BINKSURFACE655; - } - else // not supported - { - return -1; - } - } - else if (greenShift == 6) - { - if (blueShift == 4) - { - return BINKSURFACE664; - } - else // not supported - { - return -1; - } - } - } - else - { - return -1; - } - } - - return -1; -} - -BINK *MenuBackground = 0; - -extern void StartMenuBackgroundBink(void) -{ - char *filenamePtr = "fmvs/menubackground.bik";//newer.bik"; - - /* open smacker file */ - MenuBackground = BinkOpen(filenamePtr,0); - BinkSurfaceType = GetBinkPixelFormat(); - BinkDoFrame(MenuBackground); -} - -extern int PlayMenuBackgroundBink(void) -{ - int newframe = 0; - if(!MenuBackground) return 0; - - if (!BinkWait(MenuBackground)&&IntroOutroMoviesAreActive) newframe=1; - - if(newframe) BinkDoFrame(MenuBackground); - - BinkCopyToBuffer(MenuBackground,(void*)ScreenBuffer,640*2,480,(640-MenuBackground->Width)/2,(480-MenuBackground->Height)/2,BinkSurfaceType|BINKSURFACECOPYALL); - - /* next frame, please */ - if(newframe)BinkNextFrame(MenuBackground); - - return 1; -} -extern void EndMenuBackgroundBink(void) -{ - if(!MenuBackground) return; - - BinkClose(MenuBackground); - MenuBackground = 0; -} - diff --git a/3dc/win95/bink.h b/3dc/win95/bink.h deleted file mode 100644 index 2d5d29f..0000000 --- a/3dc/win95/bink.h +++ /dev/null @@ -1,488 +0,0 @@ -#ifndef BINKH -#define BINKH - -#define BINKVERSION "0.8e" - -#ifndef __RADRES__ - -#include "bink_rad.h" - -RADDEFSTART - -typedef struct BINK PTR4* HBINK; - -typedef s32 (RADLINK PTR4* BINKIOOPEN) (struct BINKIO PTR4* Bnkio, const char PTR4 *name, u32 flags); -typedef u32 (RADLINK PTR4* BINKIOREADHEADER) (struct BINKIO PTR4* Bnkio, s32 Offset, void PTR4* Dest,u32 Size); -typedef u32 (RADLINK PTR4* BINKIOREADFRAME) (struct BINKIO PTR4* Bnkio, u32 Framenum,s32 origofs,void PTR4* dest,u32 size); -typedef u32 (RADLINK PTR4* BINKIOGETBUFFERSIZE)(struct BINKIO PTR4* Bnkio, u32 Size); -typedef void (RADLINK PTR4* BINKIOSETINFO) (struct BINKIO PTR4* Bnkio, void PTR4* Buf,u32 Size,u32 FileSize,u32 simulate); -typedef u32 (RADLINK PTR4* BINKIOIDLE) (struct BINKIO PTR4* Bnkio); -typedef void (RADLINK PTR4* BINKIOCLOSE) (struct BINKIO PTR4* Bnkio); - -typedef struct BINKIO { - BINKIOREADHEADER ReadHeader; - BINKIOREADFRAME ReadFrame; - BINKIOGETBUFFERSIZE GetBufferSize; - BINKIOSETINFO SetInfo; - BINKIOIDLE Idle; - BINKIOCLOSE Close; - HBINK bink; - volatile u32 DoingARead; - volatile u32 BytesRead; - volatile u32 TotalTime; - volatile u32 ForegroundTime; - volatile u32 BufSize; - volatile u32 BufHighUsed; - volatile u32 CurBufSize; - volatile u32 CurBufUsed; - volatile u8 iodata[128]; -} BINKIO; - -typedef s32 (RADLINK PTR4* BINKSNDOPEN) (struct BINKSND PTR4* BnkSnd, u32 freq, s32 bits, s32 chans, u32 flags, HBINK bink); -typedef void (RADLINK PTR4* BINKSNDRESET) (struct BINKSND PTR4* BnkSnd); -typedef s32 (RADLINK PTR4* BINKSNDREADY) (struct BINKSND PTR4* BnkSnd); -typedef s32 (RADLINK PTR4* BINKSNDLOCK) (struct BINKSND PTR4* BnkSnd, u8 PTR4* PTR4* addr, u32 PTR4* len); -typedef s32 (RADLINK PTR4* BINKSNDUNLOCK) (struct BINKSND PTR4* BnkSnd, u32 filled); -typedef void (RADLINK PTR4* BINKSNDVOLUME) (struct BINKSND PTR4* BnkSnd, s32 volume); -typedef void (RADLINK PTR4* BINKSNDPAN) (struct BINKSND PTR4* BnkSnd, s32 pan); -typedef s32 (RADLINK PTR4* BINKSNDOFF) (struct BINKSND PTR4* BnkSnd, s32 status); -typedef s32 (RADLINK PTR4* BINKSNDPAUSE) (struct BINKSND PTR4* BnkSnd, s32 status); -typedef void (RADLINK PTR4* BINKSNDCLOSE) (struct BINKSND PTR4* BnkSnd); - -typedef BINKSNDOPEN (RADLINK PTR4* BINKSNDSYSOPEN) (u32 param); - -typedef struct BINKSND { - BINKSNDRESET SetParam; - BINKSNDRESET Reset; - BINKSNDREADY Ready; - BINKSNDLOCK Lock; - BINKSNDUNLOCK Unlock; - BINKSNDVOLUME Volume; - BINKSNDPAN Pan; - BINKSNDPAUSE Pause; - BINKSNDOFF Off; - BINKSNDCLOSE Close; - u32 BestSizeIn16; - u32 SoundDroppedOut; - u32 freq; - s32 bits,chans; - u8 snddata[128]; -} BINKSND; - -typedef struct BINKRECT { - s32 Left,Top,Width,Height; -} BINKRECT; - -#define BINKMAXDIRTYRECTS 8 - -typedef struct BUNDLEPOINTERS { - void* typeptr; - void* type16ptr; - void* colorptr; - void* bits2ptr; - void* motionXptr; - void* motionYptr; - void* dctptr; - void* mdctptr; - void* patptr; -} BUNDLEPOINTERS; - - -typedef struct BINK { - u32 Width; // Width (1 based, 640 for example) - u32 Height; // Height (1 based, 480 for example) - u32 StretchWidth; // Default stretch width - u32 StretchHeight; // Default stretch height (used for Y double) - u32 Frames; // Number of frames (1 based, 100 = 100 frames) - u32 FrameNum; // Frame to *be* displayed (1 based) - u32 LastFrameNum; // Last frame decompressed or skipped (1 based) - - u32 FrameRate; // Frame Rate Numerator - u32 FrameRateDiv; // Frame Rate Divisor (frame rate=numerator/divisor) - - u32 ReadError; // Non-zero if a read error has ocurred - u32 OpenFlags; // flags used on open - u32 BinkType; // Bink flags - - u32 Size; // size of file - u32 FrameSize; // The current frame's size in bytes - u32 SndSize; // The current frame sound tracks' size in bytes - - BINKRECT FrameRects[BINKMAXDIRTYRECTS];// Dirty rects from BinkGetRects - s32 NumRects; - - u32 YPlaneNum; // which YPlane is current - void PTR4* YPlane[2]; // pointer to the uncompressed Y (Cr and Cr follow) - u32 YWidth; // widths and heights of the video planes - u32 YHeight; - u32 UVWidth; - u32 UVHeight; - - void PTR4* MaskPlane; // pointer to the mask plane (Ywidth/16*Yheight/16) - u32 MaskPitch; // Mask Pitch - u32 MaskLength; // total length of the mask plane - - u32 LargestFrameSize; // Largest frame size - u32 InternalFrames; // how many frames were potentially compressed - - s32 NumTracks; // how many tracks - - u32 Highest1SecRate; // Highest 1 sec data rate - u32 Highest1SecFrame; // Highest 1 sec data rate starting frame - - s32 Paused; // is the bink movie paused? - - u32 BackgroundThread; // handle to background thread - - // everything below is for internal Bink use - - void PTR4* compframe; // compressed frame data - void PTR4* preloadptr; // preloaded compressed frame data - u32* frameoffsets; // offsets of each of the frames - - BINKIO bio; // IO structure - u8 PTR4* ioptr; // io buffer ptr - u32 iosize; // io buffer size - u32 decompheight; // height not include interlacing - - s32 trackindex; // track index - u32 PTR4* tracksizes; // largest single frame of track - u32 PTR4* tracktypes; // type of each sound track - s32 PTR4* trackIDs; // external track numbers - - u32 numrects; // number of rects from BinkGetRects - - u32 playedframes; // how many frames have we played - u32 firstframetime; // very first frame start - u32 startframetime; // start frame start - u32 startblittime; // start of blit period - u32 startsynctime; // start of synched time - u32 startsyncframe; // frame of startsynctime - u32 twoframestime; // two frames worth of time - u32 entireframetime; // entire frame time - - u32 slowestframetime; // slowest frame in ms - u32 slowestframe; // slowest frame number - u32 slowest2frametime; // second slowest frame in ms - u32 slowest2frame; // second slowest frame - - u32 soundon; // sound turned on? - u32 videoon; // video turned on? - - u32 totalmem; // total memory used - u32 timedecomp; // total time decompressing - u32 timeblit; // total time blitting - u32 timeopen; // total open time - - u32 fileframerate; // frame rate originally in the file - u32 fileframeratediv; - - u32 threadcontrol; // controls the background reading thread - - u32 runtimeframes; // max frames for runtime analysis - u32 runtimemoveamt; // bytes to move each frame - u32 PTR4* rtframetimes; // start times for runtime frames - u32 PTR4* rtdecomptimes; // decompress times for runtime frames - u32 PTR4* rtblittimes; // blit times for runtime frames - u32 PTR4* rtreadtimes; // read times for runtime frames - - u32 lastdecompframe; // last frame number decompressed - - u32 sndbufsize; // sound buffer size - u8 PTR4* sndbuf; // sound buffer - u8 PTR4* sndend; // end of the sound buffer - u8 PTR4* sndwritepos; // current write position - u8 PTR4* sndreadpos; // current read position - u32 sndcomp; // sound compression handle - u32 sndamt; // amount of sound currently in the buffer - volatile u32 sndreenter; // re-entrancy check on the sound - u32 sndconvert8; // convert back to 8-bit sound at runtime - BINKSND bsnd; // SND structure - u32 skippedlastblit; // skipped last frame? - u32 skippedblits; // how many blits were skipped - u32 soundskips; // number of sound stops - - BUNDLEPOINTERS bunp; // pointers to internal temporary memory -} BINK; - - -typedef struct BINKSUMMARY { - u32 Width; // Width of frames - u32 Height; // Height of frames - u32 TotalTime; // total time (ms) - u32 FileFrameRate; // frame rate - u32 FileFrameRateDiv; // frame rate divisor - u32 FrameRate; // frame rate - u32 FrameRateDiv; // frame rate divisor - u32 TotalOpenTime; // Time to open and prepare for decompression - u32 TotalFrames; // Total Frames - u32 TotalPlayedFrames; // Total Frames played - u32 SkippedFrames; // Total number of skipped frames - u32 SkippedBlits; // Total number of skipped blits - u32 SoundSkips; // Total number of sound skips - u32 TotalBlitTime; // Total time spent blitting - u32 TotalReadTime; // Total time spent reading - u32 TotalDecompTime; // Total time spent decompressing - u32 TotalBackReadTime; // Total time spent reading in background - u32 TotalReadSpeed; // Total io speed (bytes/second) - u32 SlowestFrameTime; // Slowest single frame time (ms) - u32 Slowest2FrameTime; // Second slowest single frame time (ms) - u32 SlowestFrameNum; // Slowest single frame number - u32 Slowest2FrameNum; // Second slowest single frame number - u32 AverageDataRate; // Average data rate of the movie - u32 AverageFrameSize; // Average size of the frame - u32 HighestMemAmount; // Highest amount of memory allocated - u32 TotalIOMemory; // Total extra memory allocated - u32 HighestIOUsed; // Highest extra memory actually used - u32 Highest1SecRate; // Highest 1 second rate - u32 Highest1SecFrame; // Highest 1 second start frame -} BINKSUMMARY; - - -typedef struct BINKREALTIME { - u32 FrameNum; // Current frame number - u32 FrameRate; // frame rate - u32 FrameRateDiv; // frame rate divisor - u32 Frames; // frames in this sample period - u32 FramesTime; // time is ms for these frames - u32 FramesDecompTime; // time decompressing these frames - u32 FramesReadTime; // time reading these frames - u32 FramesBlitTime; // time blitting these frames - u32 ReadBufferSize; // size of read buffer - u32 ReadBufferUsed; // amount of read buffer currently used - u32 FramesDataRate; // data rate for these frames -} BINKREALTIME; - -#define BINKMARKER 'fKIB' - -typedef struct BINKHDR { - u32 Marker; // BNKa - u32 Size; // size of the file-8 - u32 Frames; // Number of frames (1 based, 100 = 100 frames) - u32 LargestFrameSize; // Size in bytes of largest frame - u32 InternalFrames; // Number of internal frames - - u32 Width; // Width (1 based, 640 for example) - u32 Height; // Height (1 based, 480 for example) - u32 FrameRate; // frame rate - u32 FrameRateDiv; // frame rate divisor (framerate/frameratediv=fps) - - u32 Flags; // height compression options - u32 NumTracks; // number of tracks -} BINKHDR; - - -//======================================================================= -#define BINKFRAMERATE 0x00080000L // Override fr (call BinkFrameRate first) -#define BINKPRELOADALL 0x00100000L // Preload the entire animation -#define BINKSNDTRACK 0x00200000L // Set the track number to play -#define BINKNOSKIP 0x00400000L // Don't skip frames if falling behind -#define BINKNOFILLIOBUF 0x00800000L // Fill the IO buffer in SmackOpen -#define BINKSIMULATE 0x01000000L // Simulate the speed (call BinkSim first) -#define BINKFILEHANDLE 0x02000000L // Use when passing in a file handle -#define BINKIOSIZE 0x04000000L // Set an io size (call BinkIOSize first) -#define BINKIOPROCESSOR 0x08000000L // Set an io processor (call BinkIO first) -#define BINKFROMMEMORY 0x40000000L // Use when passing in a pointer to the file -#define BINKNOTHREADEDIO 0x80000000L // Don't use a background thread for IO - -#define BINKSURFACEYINTERLACE 0x20000000L // Force interleaving Y scaling -#define BINKSURFACEYDOUBLE 0x10000000L // Force doubling Y scaling -#define BINKSURFACEYFORCENONE 0x30000000L // Force Y scaling off - -#define BINKSURFACEFAST 0x00000000L -#define BINKSURFACESLOW 0x80000000L -#define BINKSURFACEDIRECT 0x40000000L - -#define BINKSURFACEFLIPPED 0x08000000L -#define BINKSURFACECOPYALL 0x04000000L // copy all pixels (not just changed) -#define BINKSURFACENOSKIP 0x01000000L // don't skip the blit if behind in sound - -#define BINKSURFACE24 0 -#define BINKSURFACE32 1 -#define BINKSURFACE555 2 -#define BINKSURFACE565 3 -#define BINKSURFACE655 4 -#define BINKSURFACE664 5 -#define BINKSURFACE8P 6 -#define BINKSURFACEYUY2 7 -#define BINKSURFACEUYVY 8 -#define BINKSURFACEYV12 9 -#define BINKSURFACEMASK 15 - -#define BINKGOTOQUICK 1 - -#define BINKGETKEYPREVIOUS 0 -#define BINKGETKEYNEXT 1 -#define BINKGETKEYCLOSEST 2 -#define BINKGETKEYNOTEQUAL 128 - -//======================================================================= - -RADEXPFUNC void PTR4* RADEXPLINK BinkLogoAddress(void); - -RADEXPFUNC void RADEXPLINK BinkSetError(const char PTR4* err); -RADEXPFUNC char PTR4* RADEXPLINK BinkGetError(void); - -RADEXPFUNC HBINK RADEXPLINK BinkOpen(const char PTR4* name,u32 flags); - -#ifdef __RADMAC__ - #include - - RADEXPFUNC HBINK RADEXPLINK BinkMacOpen(FSSpec* fsp,u32 flags); -#endif - -RADEXPFUNC u32 RADEXPLINK BinkDoFrame(HBINK bnk); -RADEXPFUNC void RADEXPLINK BinkNextFrame(HBINK bnk); -RADEXPFUNC s32 RADEXPLINK BinkWait(HBINK bnk); -RADEXPFUNC void RADEXPLINK BinkClose(HBINK bnk); -RADEXPFUNC s32 RADEXPLINK BinkPause(HBINK bnk,s32 pause); -RADEXPFUNC s32 RADEXPLINK BinkCopyToBuffer(HBINK bnk,void* dest,u32 destpitch,u32 destheight,u32 destx,u32 desty,u32 flags); -RADEXPFUNC s32 RADEXPLINK BinkGetRects(HBINK bnk,u32 surfacetype); -RADEXPFUNC void RADEXPLINK BinkGoto(HBINK bnk,u32 frame,s32 flags); // use 1 for the first frame -RADEXPFUNC u32 RADEXPLINK BinkGetKeyFrame(HBINK bnk,u32 frame,s32 flags); - -RADEXPFUNC u32 RADEXPLINK BinkSetVideoOnOff(HBINK bnk,s32 onoff); -RADEXPFUNC u32 RADEXPLINK BinkSetSoundOnOff(HBINK bnk,s32 onoff); -RADEXPFUNC void RADEXPLINK BinkSetVolume(HBINK bnk,s32 volume); -RADEXPFUNC void RADEXPLINK BinkSetPan(HBINK bnk,s32 pan); -RADEXPFUNC void RADEXPLINK BinkService(HBINK bink); - -RADEXPFUNC u32 RADEXPLINK BinkGetTrackType(HBINK bnk,u32 trackindex); -RADEXPFUNC u32 RADEXPLINK BinkGetTrackID(HBINK bnk,u32 trackindex); -RADEXPFUNC u32 RADEXPLINK BinkGetTrackData(HBINK bnk,void PTR4* dest,u32 trackindex); - -RADEXPFUNC void RADEXPLINK BinkGetSummary(HBINK bnk,BINKSUMMARY PTR4* sum); -RADEXPFUNC void RADEXPLINK BinkGetRealtime(HBINK bink,BINKREALTIME PTR4* run,u32 frames); - -#define BINKNOSOUND 0xffffffff - -RADEXPFUNC void RADEXPLINK BinkSetSoundTrack(u32 track); -RADEXPFUNC void RADEXPLINK BinkSetIO(BINKIOOPEN io); -RADEXPFUNC void RADEXPLINK BinkSetFrameRate(u32 forcerate,u32 forceratediv); -RADEXPFUNC void RADEXPLINK BinkSetSimulate(u32 sim); -RADEXPFUNC void RADEXPLINK BinkSetIOSize(u32 iosize); - -RADEXPFUNC s32 RADEXPLINK BinkSetSoundSystem(BINKSNDSYSOPEN open, u32 param); - -#ifdef __RADWIN__ - - RADEXPFUNC BINKSNDOPEN RADEXPLINK BinkOpenDirectSound(u32 param); // don't call directly - #define BinkSoundUseDirectSound(lpDS) BinkSetSoundSystem(BinkOpenDirectSound,(u32)lpDS) - - #define BinkTimerSetup() - #define BinkTimerDone() - #define BinkTimerRead timeGetTime - - #define INCLUDE_MMSYSTEM_H - #include "windows.h" - #include "windowsx.h" - - #ifdef __RADNT__ // to combat WIN32_LEAN_AND_MEAN - - #include "mmsystem.h" - - RADEXPFUNC s32 RADEXPLINK BinkDDSurfaceType(void PTR4* lpDDS); - - #endif - -#endif - -#ifndef __RADMAC__ - - RADEXPFUNC BINKSNDOPEN RADEXPLINK BinkOpenMiles(u32 param); // don't call directly - #define BinkSoundUseMiles(hdigdriver) BinkSetSoundSystem(BinkOpenMiles,(u32)hdigdriver) - -#endif - - -#ifndef __RADDOS__ - -//========================================================================= -typedef struct BINKBUFFER * HBINKBUFFER; - -typedef struct BINKBUFFER { - u32 Width; - u32 Height; - u32 WindowWidth; - u32 WindowHeight; - u32 SurfaceType; - void* Buffer; - u32 BufferPitch; - s32 ClientOffsetX; - s32 ClientOffsetY; - u32 ScreenWidth; - u32 ScreenHeight; - u32 ScreenDepth; - u32 ExtraWindowWidth; - u32 ExtraWindowHeight; - u32 ScaleFlags; - u32 StretchWidth; - u32 StretchHeight; - - s32 surface; - void* ddsurface; - void* ddclipper; - s32 destx,desty; - u32 HWND; - s32 ddoverlay; - s32 ddoffscreen; - s32 lastovershow; - - s32 issoftcur; - u32 cursorcount; - void* buffertop; - u32 type; - s32 noclipping; - -} BINKBUFFER; - - -#define BINKBUFFERSTRETCHXINT 0x80000000 -#define BINKBUFFERSTRETCHX 0x40000000 -#define BINKBUFFERSHRINKXINT 0x20000000 -#define BINKBUFFERSHRINKX 0x10000000 -#define BINKBUFFERSTRETCHYINT 0x08000000 -#define BINKBUFFERSTRETCHY 0x04000000 -#define BINKBUFFERSHRINKYINT 0x02000000 -#define BINKBUFFERSHRINKY 0x01000000 -#define BINKBUFFERRESOLUTION 0x00800000 - -#define BINKBUFFERAUTO 0 -#define BINKBUFFERPRIMARY 1 -#define BINKBUFFERYV12OVERLAY 2 -#define BINKBUFFERYUY2OVERLAY 3 -#define BINKBUFFERUYVYOVERLAY 4 -#define BINKBUFFERYV12OFFSCREEN 5 -#define BINKBUFFERYUY2OFFSCREEN 6 -#define BINKBUFFERUYVYOFFSCREEN 7 -#define BINKBUFFERRGBOFFSCREENVIDEO 8 -#define BINKBUFFERRGBOFFSCREENSYSTEM 9 -#define BINKBUFFERDRAWDIB 10 -#define BINKBUFFERTYPEMASK 31 - -RADEXPFUNC HBINKBUFFER RADEXPLINK BinkBufferOpen( HWND wnd, u32 width, u32 height, u32 bufferflags); -RADEXPFUNC void RADEXPLINK BinkBufferClose( HBINKBUFFER buf); -RADEXPFUNC s32 RADEXPLINK BinkBufferLock( HBINKBUFFER buf); -RADEXPFUNC s32 RADEXPLINK BinkBufferUnlock( HBINKBUFFER buf); -RADEXPFUNC void RADEXPLINK BinkBufferSetResolution( s32 w, s32 h, s32 bits); -RADEXPFUNC void RADEXPLINK BinkBufferCheckWinPos( HBINKBUFFER buf, s32 PTR4* destx, s32 PTR4* desty); -RADEXPFUNC s32 RADEXPLINK BinkBufferSetOffset( HBINKBUFFER buf, s32 destx, s32 desty); -RADEXPFUNC void RADEXPLINK BinkBufferBlit( HBINKBUFFER buf, BINKRECT PTR4* rects, u32 numrects ); -RADEXPFUNC s32 RADEXPLINK BinkBufferSetScale( HBINKBUFFER buf, u32 w, u32 h); -RADEXPFUNC s32 RADEXPLINK BinkBufferSetHWND( HBINKBUFFER buf, HWND newwnd); -RADEXPFUNC char PTR4* RADEXPLINK BinkBufferDescription( HBINKBUFFER buf); -RADEXPFUNC char PTR4* RADEXPLINK BinkBufferGetError(); - -RADEXPFUNC s32 RADEXPLINK BinkDDSurfaceType(void PTR4* lpDDS); -RADEXPFUNC s32 RADEXPLINK BinkIsSoftwareCursor(void PTR4* lpDDSP,HCURSOR cur); -RADEXPFUNC s32 RADEXPLINK BinkCheckCursor(HWND wnd,s32 x,s32 y,s32 w,s32 h); -RADEXPFUNC void RADEXPLINK BinkRestoreCursor(s32 checkcount); - -#endif - -RADDEFEND - -#endif - -#endif - diff --git a/3dc/win95/bink_Rad.h b/3dc/win95/bink_Rad.h deleted file mode 100644 index bfbc07e..0000000 --- a/3dc/win95/bink_Rad.h +++ /dev/null @@ -1,699 +0,0 @@ -#ifndef __RAD__ -#define __RAD__ - -#define RADCOPYRIGHT "Copyright (C) 1994-99 RAD Game Tools, Inc." - -#ifndef __RADRES__ - -// __RADDOS__ means DOS code (16 or 32 bit) -// __RAD16__ means 16 bit code (Win16) -// __RAD32__ means 32 bit code (DOS, Win386, Win32s, Mac) -// __RADWIN__ means Windows code (Win16, Win386, Win32s) -// __RADWINEXT__ means Windows 386 extender (Win386) -// __RADNT__ means Win32s code -// __RADMAC__ means Macintosh -// __RAD68K__ means 68K Macintosh -// __RADPPC__ means PowerMac - - -#if (defined(__MWERKS__) && !defined(__INTEL__)) || defined(THINK_C) || defined(powerc) || defined(macintosh) || defined(__powerc) - - #define __RADMAC__ - #if defined(powerc) || defined(__powerc) - #define __RADPPC__ - #else - #define __RAD68K__ - #endif - - #define __RAD32__ - -#else - - #ifdef __MWERKS__ - #define _WIN32 - #endif - - #ifdef __DOS__ - #define __RADDOS__ - #endif - - #ifdef __386__ - #define __RAD32__ - #endif - - #ifdef _Windows //For Borland - #ifdef __WIN32__ - #define WIN32 - #else - #define __WINDOWS__ - #endif - #endif - - #ifdef _WINDOWS //For MS - #ifndef _WIN32 - #define __WINDOWS__ - #endif - #endif - - #ifdef _WIN32 - #define __RADWIN__ - #define __RADNT__ - #define __RAD32__ - #else - #ifdef __NT__ - #define __RADWIN__ - #define __RADNT__ - #define __RAD32__ - #else - #ifdef __WINDOWS_386__ - #define __RADWIN__ - #define __RADWINEXT__ - #define __RAD32__ - #else - #ifdef __WINDOWS__ - #define __RADWIN__ - #define __RAD16__ - #else - #ifdef WIN32 - #define __RADWIN__ - #define __RADNT__ - #define __RAD32__ - #endif - #endif - #endif - #endif - #endif - -#endif - -#if (!defined(__RADDOS__) && !defined(__RADWIN__) && !defined(__RADMAC__)) - #error RAD.H did not detect your platform. Define __DOS__, __WINDOWS__, WIN32, macintosh, or powerc. -#endif - -#ifdef __RADMAC__ - - // this define is for CodeWarrior 11's stupid new libs (even though - // we don't use longlong's). - - #define __MSL_LONGLONG_SUPPORT__ - - #define RADLINK - #define RADEXPLINK - - #ifdef __CFM68K__ - #ifdef __RADINDLL__ - #define RADEXPFUNC RADDEFFUNC __declspec(export) - #else - #define RADEXPFUNC RADDEFFUNC __declspec(import) - #endif - #else - #define RADEXPFUNC RADDEFFUNC - #endif - #define RADASMLINK - -#else - - #ifdef __RADNT__ - #ifndef _WIN32 - #define _WIN32 - #endif - #ifndef WIN32 - #define WIN32 - #endif - #endif - - #ifdef __RADWIN__ - #ifdef __RAD32__ - #ifdef __RADNT__ - - #define RADLINK __stdcall - #define RADEXPLINK __stdcall - - #ifdef __RADINEXE__ - #define RADEXPFUNC RADDEFFUNC - #else - #ifndef __RADINDLL__ - #define RADEXPFUNC RADDEFFUNC __declspec(dllimport) - #ifdef __BORLANDC__ - #if __BORLANDC__<=0x460 - #undef RADEXPFUNC - #define RADEXPFUNC RADDEFFUNC - #endif - #endif - #else - #define RADEXPFUNC RADDEFFUNC __declspec(dllexport) - #endif - #endif - #else - #define RADLINK __pascal - #define RADEXPLINK __far __pascal - #define RADEXPFUNC RADDEFFUNC - #endif - #else - #define RADLINK __pascal - #define RADEXPLINK __far __pascal __export - #define RADEXPFUNC RADDEFFUNC - #endif - #else - #define RADLINK __pascal - #define RADEXPLINK __pascal - #define RADEXPFUNC RADDEFFUNC - #endif - - #define RADASMLINK __cdecl - -#endif - -#ifdef __RADWIN__ - #ifndef _WINDOWS - #define _WINDOWS - #endif -#endif - -#ifdef __cplusplus - #define RADDEFFUNC extern "C" - #define RADDEFSTART extern "C" { - #define RADDEFEND } -#else - #define RADDEFFUNC - #define RADDEFSTART - #define RADDEFEND -#endif - - -RADDEFSTART - -#define s8 signed char -#define u8 unsigned char -#define u32 unsigned long -#define s32 signed long -#define u64 unsigned __int64 -#define s64 signed __int64 -#define f32 float -#define f64 double - - -#ifdef __RAD32__ - #define PTR4 - - #define u16 unsigned short - #define s16 signed short - - #ifdef __RADMAC__ - - #include - #include - #include - - #define radstrlen strlen - - #define radmemset memset - - #define radmemcmp memcmp - - #define radmemcpy(dest,source,size) BlockMoveData((Ptr)(source),(Ptr)(dest),size) - - #define radmemcpydb(dest,source,size) BlockMoveData((Ptr)(source),(Ptr)(dest),size) - - #define radstrcat strcat - - #define radstrcpy strcpy - - static u32 inline radsqr(s32 a) { return(a*a); } - - #ifdef __RAD68K__ - - #pragma parameter __D0 mult64anddiv(__D0,__D1,__D2) - u32 mult64anddiv(u32 m1,u32 m2,u32 d) ={0x4C01,0x0C01,0x4C42,0x0C01}; - // muls.l d1,d1:d0 divs.l d2,d1:d0 - - #pragma parameter radconv32a(__A0,__D0) - void radconv32a(void* p,u32 n) ={0x4A80,0x600C,0x2210,0xE059,0x4841,0xE059,0x20C1,0x5380,0x6EF2}; - // tst.l d0 bra.s @loope @loop: move.l (a0),d1 ror.w #8,d1 swap d1 ror.w #8,d1 move.l d1,(a0)+ sub.l #1,d0 bgt.s @loop @loope: - - #else - - u32 mult64anddiv(u32 m1,u32 m2,u32 d); - - void radconv32a(void* p,u32 n); - - #endif - - #else - - #ifdef __WATCOMC__ - - u32 radsqr(s32 a); - #pragma aux radsqr = "mul eax" parm [eax] modify [EDX eax]; - - u32 mult64anddiv(u32 m1,u32 m2,u32 d); - #pragma aux mult64anddiv = "mul ecx" "div ebx" parm [eax] [ecx] [ebx] modify [EDX eax]; - - s32 radabs(s32 ab); - #pragma aux radabs = "test eax,eax" "jge skip" "neg eax" "skip:" parm [eax]; - - #define radabs32 radabs - - u32 DOSOut(const char* str); - #pragma aux DOSOut = "cld" "mov ecx,0xffffffff" "xor eax,eax" "mov edx,edi" "repne scasb" "not ecx" "dec ecx" "mov ebx,1" "mov ah,0x40" "int 0x21" parm [EDI] modify [EAX EBX ECX EDX EDI] value [ecx]; - - void DOSOutNum(const char* str,u32 len); - #pragma aux DOSOutNum = "mov ah,0x40" "mov ebx,1" "int 0x21" parm [edx] [ecx] modify [eax ebx]; - - u32 ErrOut(const char* str); - #pragma aux ErrOut = "cld" "mov ecx,0xffffffff" "xor eax,eax" "mov edx,edi" "repne scasb" "not ecx" "dec ecx" "xor ebx,ebx" "mov ah,0x40" "int 0x21" parm [EDI] modify [EAX EBX ECX EDX EDI] value [ecx]; - - void ErrOutNum(const char* str,u32 len); - #pragma aux ErrOutNum = "mov ah,0x40" "xor ebx,ebx" "int 0x21" parm [edx] [ecx] modify [eax ebx]; - - void radmemset16(void* dest,u16 value,u32 size); - #pragma aux radmemset16 = "cld" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,1" "rep stosd" "mov cl,bl" "and cl,1" "rep stosw" parm [EDI] [EAX] [ECX] modify [EAX EDX EBX ECX EDI]; - - void radmemset(void* dest,u8 value,u32 size); - #pragma aux radmemset = "cld" "mov ah,al" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,2" "and bl,3" "rep stosd" "mov cl,bl" "rep stosb" parm [EDI] [AL] [ECX] modify [EAX EDX EBX ECX EDI]; - - void radmemset32(void* dest,u32 value,u32 size); - #pragma aux radmemset32 = "cld" "rep stosd" parm [EDI] [EAX] [ECX] modify [EAX EDX EBX ECX EDI]; - - void radmemcpy(void* dest,const void* source,u32 size); - #pragma aux radmemcpy = "cld" "mov bl,cl" "shr ecx,2" "rep movsd" "mov cl,bl" "and cl,3" "rep movsb" parm [EDI] [ESI] [ECX] modify [EBX ECX EDI ESI]; - - void __far *radfmemcpy(void __far* dest,const void __far* source,u32 size); - #pragma aux radfmemcpy = "cld" "push es" "push ds" "mov es,cx" "mov ds,dx" "mov ecx,eax" "shr ecx,2" "rep movsd" "mov cl,al" "and cl,3" "rep movsb" "pop ds" "pop es" parm [CX EDI] [DX ESI] [EAX] modify [ECX EDI ESI] value [CX EDI]; - - void radmemcpydb(void* dest,const void* source,u32 size); //Destination bigger - #pragma aux radmemcpydb = "std" "mov bl,cl" "lea esi,[esi+ecx-4]" "lea edi,[edi+ecx-4]" "shr ecx,2" "rep movsd" "and bl,3" "jz dne" "add esi,3" "add edi,3" "mov cl,bl" "rep movsb" "dne:" "cld" parm [EDI] [ESI] [ECX] modify [EBX ECX EDI ESI]; - - char* radstrcpy(void* dest,const void* source); - #pragma aux radstrcpy = "cld" "mov edx,edi" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" parm [EDI] [ESI] modify [EAX EDX EDI ESI] value [EDX]; - - char __far* radfstrcpy(void __far* dest,const void __far* source); - #pragma aux radfstrcpy = "cld" "push es" "push ds" "mov es,cx" "mov ds,dx" "mov edx,edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" "pop es" parm [CX EDI] [DX ESI] modify [EAX EDX EDI ESI] value [CX EDX]; - - char* radstpcpy(void* dest,const void* source); - #pragma aux radstpcpy = "cld" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" "dec edi" parm [EDI] [ESI] modify [EAX EDI ESI] value [EDI]; - - char* radstpcpyrs(void* dest,const void* source); - #pragma aux radstpcpyrs = "cld" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" "dec esi" parm [EDI] [ESI] modify [EAX EDI ESI] value [ESI]; - - u32 radstrlen(const void* dest); - #pragma aux radstrlen = "cld" "mov ecx,0xffffffff" "xor eax,eax" "repne scasb" "not ecx" "dec ecx" parm [EDI] modify [EAX ECX EDI] value [ECX]; - - char* radstrcat(void* dest,const void* source); - #pragma aux radstrcat = "cld" "mov ecx,0xffffffff" "mov edx,edi" "xor eax,eax" "repne scasb" "dec edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" \ - parm [EDI] [ESI] modify [EAX ECX EDI ESI] value [EDX]; - - char* radstrchr(const void* dest,char chr); - #pragma aux radstrchr = "cld" "lp:" "lodsb" "cmp al,dl" "je fnd" "cmp al,0" "jnz lp" "mov esi,1" "fnd:" "dec esi" parm [ESI] [DL] modify [EAX ESI] value [esi]; - - s8 radmemcmp(const void* s1,const void* s2,u32 len); - #pragma aux radmemcmp = "cld" "rep cmpsb" "setne al" "jbe end" "neg al" "end:" parm [EDI] [ESI] [ECX] modify [ECX EDI ESI]; - - s8 radstrcmp(const void* s1,const void* s2); - #pragma aux radstrcmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,ah" "jne set" "cmp al,0" "je set" "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \ - parm [EDI] [ESI] modify [EAX EDI ESI]; - - s8 radstricmp(const void* s1,const void* s2); - #pragma aux radstricmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \ - "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \ - parm [EDI] [ESI] modify [EAX EDI ESI]; - - s8 radstrnicmp(const void* s1,const void* s2,u32 len); - #pragma aux radstrnicmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \ - "dec ecx" "jz set" "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \ - parm [EDI] [ESI] [ECX] modify [EAX ECX EDI ESI]; - - char* radstrupr(void* s1); - #pragma aux radstrupr = "mov ecx,edi" "lp:" "mov al,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub [edi],32" "c1:" "inc edi" "cmp al,0" "jne lp" parm [EDI] modify [EAX EDI] value [ecx]; - - char* radstrlwr(void* s1); - #pragma aux radstrlwr = "mov ecx,edi" "lp:" "mov al,[edi]" "cmp al,'A'" "jb c1" "cmp al,'Z'" "ja c1" "add [edi],32" "c1:" "inc edi" "cmp al,0" "jne lp" parm [EDI] modify [EAX EDI] value [ecx]; - - u32 radstru32(const void* dest); - #pragma aux radstru32 = "cld" "xor ecx,ecx" "xor ebx,ebx" "xor edi,edi" "lodsb" "cmp al,45" "jne skip2" "mov edi,1" "jmp skip" "lp:" "mov eax,10" "mul ecx" "lea ecx,[eax+ebx]" \ - "skip:" "lodsb" "skip2:" "cmp al,0x39" "ja dne" "cmp al,0x30" "jb dne" "mov bl,al" "sub bl,0x30" "jmp lp" "dne:" "test edi,1" "jz pos" "neg ecx" "pos:" \ - parm [ESI] modify [EAX EBX EDX EDI ESI] value [ecx]; - - u16 GetDS(); - #pragma aux GetDS = "mov ax,ds" value [ax]; - - #ifdef __RADWINEXT__ - - #define _16To32(ptr16) ((void*)(((GetSelectorBase((u16)(((u32)(ptr16))>>16))+((u16)(u32)(ptr16)))-GetSelectorBase(GetDS())))) - - #endif - - #ifndef __RADWIN__ - #define int86 int386 - #define int86x int386x - #endif - - #define u32regs x - #define u16regs w - - #else - - #define radstrcpy strcpy - #define radstrcat strcat - #define radmemcpy memcpy - #define radmemcpydb memmove - #define radmemcmp memcmp - #define radmemset memset - #define radstrlen strlen - #define radstrchr strchr - #define radtoupper toupper - #define radstru32(s) ((u32)atol(s)) - #define radstricmp _stricmp - #define radstrcmp strcmp - #define radstrupr _strupr - #define radstrlwr _strlwr - #define BreakPoint() __asm {int 3} - - #ifdef _MSC_VER - - #pragma warning( disable : 4035) - - typedef char* RADPCHAR; - - u32 __inline radsqr(u32 m) { - __asm { - mov eax,[m] - mul eax - } - } - - u32 __inline mult64anddiv(u32 m1,u32 m2, u32 d) { - __asm { - mov eax,[m1] - mov ecx,[m2] - mul ecx - mov ecx,[d] - div ecx - } - } - - s32 __inline radabs(s32 ab) { - __asm { - mov eax,[ab] - test eax,eax - jge skip - neg eax - skip: - } - } - - u8 __inline radinp(u16 p) { - __asm { - mov dx,[p] - in al,dx - } - } - - void __inline radoutp(u16 p,u8 v) { - __asm { - mov dx,[p] - mov al,[v] - out dx,al - } - } - - RADPCHAR __inline radstpcpy(char* p1, char* p2) { - __asm { - mov edx,[p1] - mov ecx,[p2] - cld - lp: - mov al,[ecx] - inc ecx - mov [edx],al - inc edx - cmp al,0 - jne lp - dec edx - mov eax,edx - } - } - - RADPCHAR __inline radstpcpyrs(char* p1, char* p2) { - __asm { - mov edx,[p1] - mov ecx,[p2] - cld - lp: - mov al,[ecx] - inc ecx - mov [edx],al - inc edx - cmp al,0 - jne lp - dec ecx - mov eax,ecx - } - } - - void __inline radmemset16(void* dest,u16 value,u32 sizeb) { - __asm { - mov edi,[dest] - mov ax,[value] - mov ecx,[sizeb] - shl eax,16 - cld - mov ax,[value] - mov bl,cl - shr ecx,1 - rep stosd - mov cl,bl - and cl,1 - rep stosw - } - } - - void __inline radmemset32(void* dest,u32 value,u32 sizeb) { - __asm { - mov edi,[dest] - mov eax,[value] - mov ecx,[sizeb] - cld - rep stosd - } - } - - u32 __inline __stdcall RADsqrt(u32 sq) { - __asm { - fild dword ptr [sq] - fsqrt - fistp word ptr [sq] - movzx eax,word ptr [sq] - } - } - - void __inline RADCycleTimerStartAddr(u32* addr) - { - __asm { - mov ecx,[addr] -#ifdef __MWERKS__ - rdtsc -#else -#if _MSC_VER<=1100 - __emit 0xf - __emit 0x31 -#else - rdtsc -#endif -#endif - mov [ecx],eax - } - } - - u32 __inline RADCycleTimerDeltaAddr(u32* addr) - { - __asm { -#ifdef __MWERKS__ - rdtsc -#else -#if _MSC_VER<=1100 - __emit 0xf - __emit 0x31 -#else - rdtsc -#endif -#endif - mov ecx,[addr] - sub eax,[ecx] - mov [ecx],eax - } - } - - #define RADCycleTimerStart(var) RADCycleTimerStartAddr(&var) - #define RADCycleTimerDelta(var) RADCycleTimerDeltaAddr(&var) - - #pragma warning( default : 4035) - - #endif - - #endif - - #endif - -#else - - #define PTR4 __far - - #define u16 unsigned int - #define s16 signed int - - #ifdef __WATCOMC__ - - u32 radsqr(s32 a); - #pragma aux radsqr = "shl edx,16" "mov dx,ax" "mov eax,edx" "xor edx,edx" "mul eax" "shld edx,eax,16" parm [dx ax] modify [DX ax] value [dx ax]; - - s16 radabs(s16 ab); - #pragma aux radabs = "test ax,ax" "jge skip" "neg ax" "skip:" parm [ax] value [ax]; - - s32 radabs32(s32 ab); - #pragma aux radabs32 = "test dx,dx" "jge skip" "neg dx" "neg ax" "sbb dx,0" "skip:" parm [dx ax] value [dx ax]; - - u32 DOSOut(const char far* dest); - #pragma aux DOSOut = "cld" "and edi,0xffff" "mov dx,di" "mov ecx,0xffffffff" "xor eax,eax" 0x67 "repne scasb" "not ecx" "dec ecx" "mov bx,1" "push ds" "push es" "pop ds" "mov ah,0x40" "int 0x21" "pop ds" "movzx eax,cx" "shr ecx,16" \ - parm [ES DI] modify [AX BX CX DX DI ES] value [CX AX]; - - void DOSOutNum(const char far* str,u16 len); - #pragma aux DOSOutNum = "push ds" "mov ds,cx" "mov cx,bx" "mov ah,0x40" "mov bx,1" "int 0x21" "pop ds" parm [cx dx] [bx] modify [ax bx cx]; - - u32 ErrOut(const char far* dest); - #pragma aux ErrOut = "cld" "and edi,0xffff" "mov dx,di" "mov ecx,0xffffffff" "xor eax,eax" 0x67 "repne scasb" "not ecx" "dec ecx" "xor bx,bx" "push ds" "push es" "pop ds" "mov ah,0x40" "int 0x21" "pop ds" "movzx eax,cx" "shr ecx,16" \ - parm [ES DI] modify [AX BX CX DX DI ES] value [CX AX]; - - void ErrOutNum(const char far* str,u16 len); - #pragma aux ErrOutNum = "push ds" "mov ds,cx" "mov cx,bx" "mov ah,0x40" "xor bx,bx" "int 0x21" "pop ds" parm [cx dx] [bx] modify [ax bx cx]; - - void radmemset(void far *dest,u8 value,u32 size); - #pragma aux radmemset = "cld" "and edi,0ffffh" "shl ecx,16" "mov cx,bx" "mov ah,al" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,2" 0x67 "rep stosd" "mov cl,bl" "and cl,3" "rep stosb" parm [ES DI] [AL] [CX BX]; - - void radmemset16(void far* dest,u16 value,u32 size); - #pragma aux radmemset16 = "cld" "and edi,0ffffh" "shl ecx,16" "mov cx,bx" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,1" "rep stosd" "mov cl,bl" "and cl,1" "rep stosw" parm [ES DI] [AX] [CX BX]; - - void radmemcpy(void far* dest,const void far* source,u32 size); - #pragma aux radmemcpy = "cld" "push ds" "mov ds,dx" "and esi,0ffffh" "and edi,0ffffh" "shl ecx,16" "mov cx,bx" "shr ecx,2" 0x67 "rep movsd" "mov cl,bl" "and cl,3" "rep movsb" "pop ds" parm [ES DI] [DX SI] [CX BX] modify [CX SI DI ES]; - - s8 radmemcmp(const void far* s1,const void far* s2,u32 len); - #pragma aux radmemcmp = "cld" "push ds" "mov ds,dx" "shl ecx,16" "mov cx,bx" "rep cmpsb" "setne al" "jbe end" "neg al" "end:" "pop ds" parm [ES DI] [DX SI] [CX BX] modify [CX SI DI ES]; - - char far* radstrcpy(void far* dest,const void far* source); - #pragma aux radstrcpy = "cld" "push ds" "mov ds,dx" "and esi,0xffff" "and edi,0xffff" "mov dx,di" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" parm [ES DI] [DX SI] modify [AX DX DI SI ES] value [es dx]; - - char far* radstpcpy(void far* dest,const void far* source); - #pragma aux radstpcpy = "cld" "push ds" "mov ds,dx" "and esi,0xffff" "and edi,0xffff" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "dec di" "pop ds" parm [ES DI] [DX SI] modify [DI SI ES] value [es di]; - - u32 radstrlen(const void far* dest); - #pragma aux radstrlen = "cld" "and edi,0xffff" "mov ecx,0xffffffff" "xor eax,eax" 0x67 "repne scasb" "not ecx" "dec ecx" "movzx eax,cx" "shr ecx,16" parm [ES DI] modify [AX CX DI ES] value [CX AX]; - - char far* radstrcat(void far* dest,const void far* source); - #pragma aux radstrcat = "cld" "and edi,0xffff" "mov ecx,0xffffffff" "and esi,0xffff" "push ds" "mov ds,dx" "mov dx,di" "xor eax,eax" 0x67 "repne scasb" "dec edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" \ - parm [ES DI] [DX SI] modify [AX CX DI SI ES] value [es dx]; - - char far* radstrchr(const void far* dest,char chr); - #pragma aux radstrchr = "cld" "lp:" 0x26 "lodsb" "cmp al,dl" "je fnd" "cmp al,0" "jnz lp" "xor ax,ax" "mov es,ax" "mov si,1" "fnd:" "dec si" parm [ES SI] [DL] modify [AX SI ES] value [es si]; - - s8 radstricmp(const void far* s1,const void far* s2); - #pragma aux radstricmp = "and edi,0xffff" "push ds" "mov ds,dx" "and esi,0xffff" "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" \ - "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \ - "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" "pop ds" \ - parm [ES DI] [DX SI] modify [AX DI SI]; - - u32 radstru32(const void far* dest); - #pragma aux radstru32 = "cld" "xor ecx,ecx" "xor ebx,ebx" "xor edi,edi" 0x26 "lodsb" "cmp al,45" "jne skip2" "mov edi,1" "jmp skip" "lp:" "mov eax,10" "mul ecx" "lea ecx,[eax+ebx]" \ - "skip:" 0x26 "lodsb" "skip2:" "cmp al,0x39" "ja dne" "cmp al,0x30" "jb dne" "mov bl,al" "sub bl,0x30" "jmp lp" "dne:" "test edi,1" "jz pos" "neg ecx" "pos:" \ - "movzx eax,cx" "shr ecx,16" parm [ES SI] modify [AX BX DX DI SI] value [cx ax]; - - u32 mult64anddiv(u32 m1,u32 m2,u32 d); - #pragma aux mult64anddiv = "shl ecx,16" "mov cx,ax" "shrd eax,edx,16" "mov ax,si" "mul ecx" "shl edi,16" "mov di,bx" "div edi" "shld edx,eax,16" "and edx,0xffff" "and eax,0xffff" parm [cx ax] [dx si] [di bx] \ - modify [ax bx cx dx si di] value [dx ax]; - - #endif - -#endif - -RADDEFEND - -#define u32neg1 ((u32)(s32)-1) -#define RAD_align(var) var; u8 junk##var[4-(sizeof(var)&3)]; -#define RAD_align_after(var) u8 junk##var[4-(sizeof(var)&3)]={0}; -#define RAD_align_init(var,val) var=val; u8 junk##var[4-(sizeof(var)&3)]={0}; -#define RAD_align_array(var,num) var[num]; u8 junk##var[4-(sizeof(var)&3)]; -#define RAD_align_string(var,str) char var[]=str; u8 junk##var[4-(sizeof(var)&3)]={0}; - - -RADEXPFUNC void PTR4* RADEXPLINK radmalloc(u32 numbytes); -RADEXPFUNC void RADEXPLINK radfree(void PTR4* ptr); - - -#ifdef __WATCOMC__ - - char bkbhit(); - #pragma aux bkbhit = "mov ah,1" "int 0x16" "lahf" "shr eax,14" "and eax,1" "xor al,1" ; - - char bgetch(); - #pragma aux bgetch = "xor ah,ah" "int 0x16" "test al,0xff" "jnz done" "mov al,ah" "or al,0x80" "done:" modify [AX]; - - void BreakPoint(); - #pragma aux BreakPoint = "int 3"; - - u8 radinp(u16 p); - #pragma aux radinp = "in al,dx" parm [DX]; - - u8 radtoupper(u8 p); - #pragma aux radtoupper = "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" parm [al] value [al]; - - void radoutp(u16 p,u8 v); - #pragma aux radoutp = "out dx,al" parm [DX] [AL]; - -#else - -// for multi-processor machines - -#ifdef __RADNT__ - #define LockedIncrement(var) __asm { lock inc [var] } - #define LockedDecrement(var) __asm { lock dec [var] } - void __inline LockedIncrementFunc(void PTR4* var) { - __asm { - mov eax,[var] - lock inc [eax] - } - } - - void __inline LockedDecrementFunc(void PTR4* var) { - __asm { - mov eax,[var] - lock dec [eax] - } - } - -#else - - #ifdef __RADMAC__ - - #define LockedIncrement(var) {++(var);} - #define LockedDecrement(var) {--(var);} - - #define LockedIncrementFunc(ptr) {++(*((u32*)(var)));} - #define LockedDecrementFunc(ptr) {--(*((u32*)(var)));} - - #else - - #define LockedIncrement(var) __asm { inc [var] } - #define LockedDecrement(var) __asm { dec [var] } - void __inline LockedIncrementFunc(void PTR4* var) { __asm { mov eax,[var] - inc [eax] } } - void __inline LockedDecrementFunc(void PTR4* var) { __asm { mov eax,[var] - dec [eax] } } - #endif - -#endif - -#endif - -#endif - -#endif - diff --git a/3dc/win95/md5.c b/3dc/win95/md5.c deleted file mode 100644 index a71a3c3..0000000 --- a/3dc/win95/md5.c +++ /dev/null @@ -1,364 +0,0 @@ -/* md5.c - Functions to compute MD5 message digest of files or memory blocks - according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995 Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* Written by Ulrich Drepper . */ -#define STDC_HEADERS 1 - -#include "advwin32.h" - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -#if STDC_HEADERS -# include -# include -#else -# ifndef HAVE_MEMCPY -# define memcpy(d, s, n) bcopy ((s), (d), (n)) -# endif -#endif - -#include "md5.h" - -#ifdef WORDS_BIGENDIAN -# define SWAP(n) \ - (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) -#else -# define SWAP(n) (n) -#endif - - -/* This array contains the bytes used to pad the buffer to the next - 64-byte boundary. (RFC 1321, 3.1: Step 1) */ -static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; - - -/* Initialize structure containing state of computation. - (RFC 1321, 3.3: Step 3) */ -void -md5_init_ctx (struct md5_ctx *ctx) -{ - ctx->A = 0x67452301; - ctx->B = 0xefcdab89; - ctx->C = 0x98badcfe; - ctx->D = 0x10325476; -} - -/* Put result from CTX in first 16 bytes following RESBUF. The result must - be in little endian byte order. */ -void * -md5_read_ctx(const struct md5_ctx *ctx, void *resbuf) -{ - ((md5_uint32 *) resbuf)[0] = SWAP (ctx->A); - ((md5_uint32 *) resbuf)[1] = SWAP (ctx->B); - ((md5_uint32 *) resbuf)[2] = SWAP (ctx->C); - ((md5_uint32 *) resbuf)[3] = SWAP (ctx->D); - - return resbuf; -} - -/* Compute MD5 message digest for bytes read from STREAM. The - resulting message digest number will be written into the 16 bytes - beginning at RESBLOCK. */ -#ifdef _MSC_VER -#pragma warning(disable: 4701) -#endif - -int md5_stream(FILE *stream, void *resblock) -{ - /* Important: BLOCKSIZE must be a multiple of 64. */ -#define BLOCKSIZE 64 - struct md5_ctx ctx; - md5_uint32 len[2]; - char buffer[BLOCKSIZE + 72]; - size_t pad, sum; - - /* Initialize the computation context. */ - md5_init_ctx (&ctx); - - len[0] = 0; - len[1] = 0; - - /* Iterate over full file contents. */ - while (1) - { - /* We read the file in blocks of BLOCKSIZE bytes. One call of the - computation function processes the whole buffer so that with the - next round of the loop another block can be read. */ - size_t n; - sum = 0; - - /* Read block. Take care for partial reads. */ - do - { - n = fread (buffer, 1, BLOCKSIZE - sum, stream); - - sum += n; - } - while (sum < BLOCKSIZE && n != 0); - if (n == 0 && ferror (stream)) - return 1; - - /* RFC 1321 specifies the possible length of the file up to 2^64 bits. - Here we only compute the number of bytes. Do a double word - increment. */ - len[0] += sum; - if (len[0] < sum) - ++len[1]; - - /* If end of file is reached, end the loop. */ - if (n == 0) - break; - - /* Process buffer with BLOCKSIZE bytes. Note that - BLOCKSIZE % 64 == 0 - */ - md5_process_block (buffer, BLOCKSIZE, &ctx); - } - - /* We can copy 64 byte because the buffer is always big enough. FILLBUF - contains the needed bits. */ - memcpy (&buffer[sum], fillbuf, 64); - - /* Compute amount of padding bytes needed. Alignment is done to - (N + PAD) % 64 == 56 - There is always at least one byte padded. I.e. even the alignment - is correctly aligned 64 padding bytes are added. */ - pad = sum & 63; - pad = pad >= 56 ? 64 + 56 - pad : 56 - pad; - - /* Put the 64-bit file length in *bits* at the end of the buffer. */ - *(md5_uint32 *) &buffer[sum + pad] = SWAP (len[0] << 3); - *(md5_uint32 *) &buffer[sum + pad + 4] = SWAP ((len[1] << 3) - | (len[0] >> 29)); - - /* Process last bytes. */ - md5_process_block (buffer, sum + pad + 8, &ctx); - - /* Construct result in desired memory. */ - md5_read_ctx (&ctx, resblock); - return 0; -} -#ifdef _MSC_VER -#pragma warning(default: 4701) -#endif - -/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The - result is always in little endian byte order, so that a byte-wise - output yields to the wanted ASCII representation of the message - digest. */ -void * -md5_buffer (const char *buffer, size_t len, void *resblock) -{ - struct md5_ctx ctx; - char restbuf[64 + 72]; - size_t blocks = len & ~63; - size_t pad, rest; - - /* Initialize the computation context. */ - md5_init_ctx (&ctx); - - /* Process whole buffer but last len % 64 bytes. */ - md5_process_block (buffer, blocks, &ctx); - - /* REST bytes are not processed yet. */ - rest = len - blocks; - /* Copy to own buffer. */ - memcpy (restbuf, &buffer[blocks], rest); - /* Append needed fill bytes at end of buffer. We can copy 64 byte - because the buffer is always big enough. */ - memcpy (&restbuf[rest], fillbuf, 64); - - /* PAD bytes are used for padding to correct alignment. Note that - always at least one byte is padded. */ - pad = rest >= 56 ? 64 + 56 - rest : 56 - rest; - - /* Put length of buffer in *bits* in last eight bytes. */ - *(md5_uint32 *) &restbuf[rest + pad] = (md5_uint32) SWAP (len << 3); - *(md5_uint32 *) &restbuf[rest + pad + 4] = (md5_uint32) SWAP (len >> 29); - - /* Process last bytes. */ - md5_process_block (restbuf, rest + pad + 8, &ctx); - - /* Put result in desired memory area. */ - return md5_read_ctx (&ctx, resblock); -} - - -/* These are the four functions used in the four steps of the MD5 algorithm - and defined in the RFC 1321. The first function is a little bit optimized - (as found in Colin Plumbs public domain implementation). */ -/* #define FF(b, c, d) ((b & c) | (~b & d)) */ -#define FF(b, c, d) (d ^ (b & (c ^ d))) -#define FG(b, c, d) FF (d, b, c) -#define FH(b, c, d) (b ^ c ^ d) -#define FI(b, c, d) (c ^ (b | ~d)) - -/* Process LEN bytes of BUFFER, accumulating context into CTX. - It is assumed that LEN % 64 == 0. */ - -void -md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) -{ - md5_uint32 correct_words[16]; - const md5_uint32 *words = buffer; - size_t nwords = len / sizeof (md5_uint32); - const md5_uint32 *endp = words + nwords; - md5_uint32 A = ctx->A; - md5_uint32 B = ctx->B; - md5_uint32 C = ctx->C; - md5_uint32 D = ctx->D; - - /* Process all bytes in the buffer with 64 bytes in each round of - the loop. */ - while (words < endp) - { - md5_uint32 *cwp = correct_words; - md5_uint32 A_save = A; - md5_uint32 B_save = B; - md5_uint32 C_save = C; - md5_uint32 D_save = D; - - /* First round: using the given function, the context and a constant - the next context is computed. Because the algorithms processing - unit is a 32-bit word and it is determined to work on words in - little endian byte order we perhaps have to change the byte order - before the computation. To reduce the work for the next steps - we store the swapped words in the array CORRECT_WORDS. */ - -#define OP(a, b, c, d, s, T) \ - do \ - { \ - a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \ - ++words; \ - CYCLIC (a, s); \ - a += b; \ - } \ - while (0) - - /* It is unfortunate that C does not provide an operator for - cyclic rotation. Hope the C compiler is smart enough. */ -#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) - - /* Before we start, one word to the strange constants. - They are defined in RFC 1321 as - - T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64 - */ - - /* Round 1. */ - OP (A, B, C, D, 7, 0xd76aa478); - OP (D, A, B, C, 12, 0xe8c7b756); - OP (C, D, A, B, 17, 0x242070db); - OP (B, C, D, A, 22, 0xc1bdceee); - OP (A, B, C, D, 7, 0xf57c0faf); - OP (D, A, B, C, 12, 0x4787c62a); - OP (C, D, A, B, 17, 0xa8304613); - OP (B, C, D, A, 22, 0xfd469501); - OP (A, B, C, D, 7, 0x698098d8); - OP (D, A, B, C, 12, 0x8b44f7af); - OP (C, D, A, B, 17, 0xffff5bb1); - OP (B, C, D, A, 22, 0x895cd7be); - OP (A, B, C, D, 7, 0x6b901122); - OP (D, A, B, C, 12, 0xfd987193); - OP (C, D, A, B, 17, 0xa679438e); - OP (B, C, D, A, 22, 0x49b40821); - - /* For the second to fourth round we have the possibly swapped words - in CORRECT_WORDS. Redefine the macro to take an additional first - argument specifying the function to use. */ -#undef OP -#define OP(f, a, b, c, d, k, s, T) \ - do \ - { \ - a += f (b, c, d) + correct_words[k] + T; \ - CYCLIC (a, s); \ - a += b; \ - } \ - while (0) - - /* Round 2. */ - OP (FG, A, B, C, D, 1, 5, 0xf61e2562); - OP (FG, D, A, B, C, 6, 9, 0xc040b340); - OP (FG, C, D, A, B, 11, 14, 0x265e5a51); - OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa); - OP (FG, A, B, C, D, 5, 5, 0xd62f105d); - OP (FG, D, A, B, C, 10, 9, 0x02441453); - OP (FG, C, D, A, B, 15, 14, 0xd8a1e681); - OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8); - OP (FG, A, B, C, D, 9, 5, 0x21e1cde6); - OP (FG, D, A, B, C, 14, 9, 0xc33707d6); - OP (FG, C, D, A, B, 3, 14, 0xf4d50d87); - OP (FG, B, C, D, A, 8, 20, 0x455a14ed); - OP (FG, A, B, C, D, 13, 5, 0xa9e3e905); - OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8); - OP (FG, C, D, A, B, 7, 14, 0x676f02d9); - OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a); - - /* Round 3. */ - OP (FH, A, B, C, D, 5, 4, 0xfffa3942); - OP (FH, D, A, B, C, 8, 11, 0x8771f681); - OP (FH, C, D, A, B, 11, 16, 0x6d9d6122); - OP (FH, B, C, D, A, 14, 23, 0xfde5380c); - OP (FH, A, B, C, D, 1, 4, 0xa4beea44); - OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9); - OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60); - OP (FH, B, C, D, A, 10, 23, 0xbebfbc70); - OP (FH, A, B, C, D, 13, 4, 0x289b7ec6); - OP (FH, D, A, B, C, 0, 11, 0xeaa127fa); - OP (FH, C, D, A, B, 3, 16, 0xd4ef3085); - OP (FH, B, C, D, A, 6, 23, 0x04881d05); - OP (FH, A, B, C, D, 9, 4, 0xd9d4d039); - OP (FH, D, A, B, C, 12, 11, 0xe6db99e5); - OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8); - OP (FH, B, C, D, A, 2, 23, 0xc4ac5665); - - /* Round 4. */ - OP (FI, A, B, C, D, 0, 6, 0xf4292244); - OP (FI, D, A, B, C, 7, 10, 0x432aff97); - OP (FI, C, D, A, B, 14, 15, 0xab9423a7); - OP (FI, B, C, D, A, 5, 21, 0xfc93a039); - OP (FI, A, B, C, D, 12, 6, 0x655b59c3); - OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92); - OP (FI, C, D, A, B, 10, 15, 0xffeff47d); - OP (FI, B, C, D, A, 1, 21, 0x85845dd1); - OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f); - OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0); - OP (FI, C, D, A, B, 6, 15, 0xa3014314); - OP (FI, B, C, D, A, 13, 21, 0x4e0811a1); - OP (FI, A, B, C, D, 4, 6, 0xf7537e82); - OP (FI, D, A, B, C, 11, 10, 0xbd3af235); - OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb); - OP (FI, B, C, D, A, 9, 21, 0xeb86d391); - - /* Add the starting values of the context. */ - A += A_save; - B += B_save; - C += C_save; - D += D_save; - } - - /* Put checksum in context given as argument. */ - ctx->A = A; - ctx->B = B; - ctx->C = C; - ctx->D = D; -} diff --git a/3dc/win95/md5.h b/3dc/win95/md5.h deleted file mode 100644 index 2306a7e..0000000 --- a/3dc/win95/md5.h +++ /dev/null @@ -1,125 +0,0 @@ - -#ifdef __cplusplus -extern "C"{ -#endif - -/* md5.h - Declaration of functions and data types used for MD5 sum - computing library functions. - Copyright (C) 1995 Free Software Foundation, Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _MD5_H -#define _MD5_H - -#include - -#if defined HAVE_LIMITS_H || _LIBC -# include -#endif - -/* The following contortions are an attempt to use the C preprocessor - to determine an unsigned integral type that is 32 bits wide. An - alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but - doing that would require that the configure script compile and *run* - the resulting executable. Locally running cross-compiled executables - is usually not possible. */ - -#if defined __STDC__ && __STDC__ -# define UINT_MAX_32_BITS 4294967295U -#else -# define UINT_MAX_32_BITS 0xFFFFFFFF -#endif - -/* If UINT_MAX isn't defined, assume it's a 32-bit type. - This should be valid for all systems GNU cares about because - that doesn't include 16-bit systems, and only modern systems - (that certainly have ) have 64+-bit integral types. */ - -#ifndef UINT_MAX -# define UINT_MAX UINT_MAX_32_BITS -#endif - -#if UINT_MAX == UINT_MAX_32_BITS - typedef unsigned int md5_uint32; -#else -# if USHRT_MAX == UINT_MAX_32_BITS - typedef unsigned short md5_uint32; -# else -# if ULONG_MAX == UINT_MAX_32_BITS - typedef unsigned long md5_uint32; -# else - /* The following line is intended to evoke an error. - Using #error is not portable enough. */ - "Cannot determine unsigned 32-bit data type." -# endif -# endif -#endif - -#undef __P -#if defined (__STDC__) && __STDC__ -#define __P(x) x -#else -#define __P(x) () -#endif - -/* Structure to save state of computation between the single steps. */ -struct md5_ctx -{ - md5_uint32 A; - md5_uint32 B; - md5_uint32 C; - md5_uint32 D; -}; - -/* - * The following three functions are build up the low level used in - * the functions `md5_stream' and `md5_buffer'. - */ - -/* Initialize structure containing state of computation. - (RFC 1321, 3.3: Step 3) */ -void md5_init_ctx __P ((struct md5_ctx *ctx)); - -/* Starting with the result of former calls of this function (or the - initialzation function update the context for the next LEN bytes - starting at BUFFER. - It is necessary that LEN is a multiple of 64!!! */ -void md5_process_block __P ((const void *buffer, size_t len, - struct md5_ctx *ctx)); - -/* Put result from CTX in first 16 bytes following RESBUF. The result is - always in little endian byte order, so that a byte-wise output yields - to the wanted ASCII representation of the message digest. */ -void *md5_read_ctx __P ((const struct md5_ctx *ctx, void *resbuf)); - - -/* Compute MD5 message digest for bytes read from STREAM. The - resulting message digest number will be written into the 16 bytes - beginning at RESBLOCK. */ -int md5_stream __P ((FILE *stream, void *resblock)); - -/* Compute MD5 message digest for LEN bytes beginning at BUFFER. The - result is always in little endian byte order, so that a byte-wise - output yields to the wanted ASCII representation of the message - digest. */ -//void *md5_buffer __P((const char *buffer, size_t len, void *resblock)); -void *md5_buffer (const char *buffer, size_t len, void *resblock); -#endif - -#ifdef __cplusplus -}; -#endif - diff --git a/3dc/win95/smacker.c b/3dc/win95/smacker.c deleted file mode 100644 index 9b46f83..0000000 --- a/3dc/win95/smacker.c +++ /dev/null @@ -1,775 +0,0 @@ -/* KJL 15:25:20 8/16/97 - * - * smacker.c - functions to handle FMV playback - * - */ -#include "3dc.h" -#include "module.h" -#include "inline.h" -#include "stratdef.h" -#include "gamedef.h" -#include "smacker.h" -#include "avp_menus.h" -#include "avp_userprofile.h" -#include "d3_func.h" - -#define UseLocalAssert 1 -#include "ourasert.h" - -int VolumeOfNearestVideoScreen; -int PanningOfNearestVideoScreen; - -extern char *ScreenBuffer; -extern LPDIRECTSOUND DSObject; -extern int GotAnyKey; -extern void DirectReadKeyboard(void); -extern IMAGEHEADER ImageHeaderArray[]; -#if MaxImageGroups>1 -extern int NumImagesArray[]; -#else -extern int NumImages; -#endif - -void PlayFMV(char *filenamePtr); -static int NextSmackerFrame(Smack *smackHandle); -static UpdatePalette(Smack *smackHandle); - -static int GetSmackerPixelFormat(DDPIXELFORMAT *pixelFormatPtr); -void FindLightingValueFromFMV(unsigned short *bufferPtr); -void FindLightingValuesFromTriggeredFMV(unsigned char *bufferPtr, FMVTEXTURE *ftPtr); - -int SmackerSoundVolume=ONE_FIXED/512; -int MoviesAreActive; -int IntroOutroMoviesAreActive=1; - -int FmvColourRed; -int FmvColourGreen; -int FmvColourBlue; - -void PlayFMV(char *filenamePtr) -{ - Smack* smackHandle; - int playing = 1; - - if (!IntroOutroMoviesAreActive) return; - - /* use Direct sound */ - SmackSoundUseDirectSound(DSObject); - /* open smacker file */ - smackHandle = SmackOpen(filenamePtr,SMACKTRACKS,SMACKAUTOEXTRA); - if (!smackHandle) - { - char message[100]; - sprintf(message,"Unable to access file: %s\n",filenamePtr); - MessageBox(NULL,message,"AvP Error",MB_OK+MB_SYSTEMMODAL); - exit(0x111); - return; - } - - while(playing) - { - CheckForWindowsMessages(); - if (!SmackWait(smackHandle)) - playing = NextSmackerFrame(smackHandle); - - /* do something else */ -// *(ScreenBuffer + 300*640 + smackHandle->FrameNum) = 255; - - FlipBuffers(); - #if ALLOW_SKIP_INTRO - DirectReadKeyboard(); - if (GotAnyKey) playing = 0; - #endif - } - /* close file */ - SmackClose(smackHandle); -} - - - - -static int NextSmackerFrame(Smack *smackHandle) -{ - /* do we have to change the palette? */ -// if (smackHandle->NewPalette) UpdatePalette(smackHandle); - - /* unpack frame */ - extern DDPIXELFORMAT DisplayPixelFormat; - SmackToBuffer(smackHandle,(640-smackHandle->Width)/2,(480-smackHandle->Height)/2,640*2,480,(void*)ScreenBuffer,GetSmackerPixelFormat(&DisplayPixelFormat)); - SmackDoFrame(smackHandle); - - /* are we at the last frame yet? */ - if ((smackHandle->FrameNum==(smackHandle->Frames-1))) return 0; - - /* next frame, please */ - SmackNextFrame(smackHandle); - return 1; -} - -Smack* SmackHandle[4]; -#define FMV_ON 0 - -void InitFMV(void) -{ -#if FMV_ON -// char *filenamePtr = "fmvs/hugtest.smk";//"dd64_64.smk";//nintendo.smk";//"trailer.smk";//"m_togran.smk"; - - /* use Direct sound */ -// SmackSoundUseDirectSound(DSObject); - - /* open smacker file */ - SmackHandle[0] = SmackOpen("fmvs/tyrargo.smk",SMACKTRACKS,SMACKAUTOEXTRA); - SmackHandle[1] = SmackOpen("fmvs/final.smk",SMACKTRACKS,SMACKAUTOEXTRA); - SmackHandle[2] = SmackOpen("fmvs/hugtest.smk",SMACKTRACKS,SMACKAUTOEXTRA); - SmackHandle[3] = SmackOpen("fmvs/alien.smk",SMACKTRACKS,SMACKAUTOEXTRA); - -#endif -} - -int NextFMVFrame(void*bufferPtr, int x, int y, int w, int h, int fmvNumber) -{ -#if FMV_ON - int smackerFormat; - - if(!SmackHandle[fmvNumber]) return 0; - - if (SmackWait(SmackHandle[fmvNumber])) return 0; - - /* unpack frame */ - { - extern D3DINFO d3d; - smackerFormat = GetSmackerPixelFormat(&(d3d.TextureFormat[d3d.CurrentTextureFormat].ddsd.ddpfPixelFormat)); - } - if (smackerFormat) w*=2; -// if (fmvNumber==0) FindLightingValueFromFMV((unsigned short *)bufferPtr); - SmackToBuffer(SmackHandle[fmvNumber],x,y,w,h,(void*)bufferPtr,smackerFormat); - - SmackDoFrame(SmackHandle[fmvNumber]); -// textprint("at frame %d\n",SmackHandle->FrameNum); - - /* next frame, please */ - SmackNextFrame(SmackHandle[fmvNumber]); -#endif - return 1; - -} - -void UpdateFMVPalette(PALETTEENTRY *FMVPalette, int fmvNumber) -{ - unsigned char *c; - int i; - if(!SmackHandle[fmvNumber]) return; - c=SmackHandle[fmvNumber]->Palette; - - for(i=0;i<256;i++) - { - FMVPalette[i].peRed=(*c++); - FMVPalette[i].peGreen=(*c++); - FMVPalette[i].peBlue=(*c++); - } -} - - -void CloseFMV(void) -{ -#if FMV_ON - extern void KillFMVTexture(void); - if(SmackHandle[0]) SmackClose(SmackHandle[0]); - if(SmackHandle[1]) SmackClose(SmackHandle[1]); - if(SmackHandle[2]) SmackClose(SmackHandle[2]); - if(SmackHandle[3]) SmackClose(SmackHandle[3]); - KillFMVTexture(); -#endif -} - -static int GetSmackerPixelFormat(DDPIXELFORMAT *pixelFormatPtr) -{ - - if( (pixelFormatPtr->dwFlags & DDPF_RGB) && !(pixelFormatPtr->dwFlags & DDPF_PALETTEINDEXED8) ) - { - int m; - int redShift=0; - - m = pixelFormatPtr->dwRBitMask; - LOCALASSERT(m); - while(!(m&1)) m>>=1; - while(m&1) - { - m>>=1; - redShift++; - } - - if(redShift == 5) - { - /* Red componant is 5. */ - int greenShift=0; - m = pixelFormatPtr->dwGBitMask; - LOCALASSERT(m); - while(!(m&1)) m>>=1; - while(m&1) - { - m>>=1; - greenShift++; - } - if(greenShift == 5) - { - /* Green componant is 5. */ - int blueShift=0; - m = pixelFormatPtr->dwBBitMask; - LOCALASSERT(m); - while(!(m&1)) m>>=1; - while(m&1) - { - m>>=1; - blueShift++; - } - if(blueShift == 5) - { - /* Blue componant is 5. */ - return SMACKBUFFER555; - } - else - { - /* Blue componant is 6. */ - // not supported - LOCALASSERT("Smacker does not support this pixel format"==0); - return SMACKBUFFER555; - //return SMACKBUFFER556; - } - } - else - { - /* Green componant is 6. */ - return SMACKBUFFER565; - } - } - else - { - /* Red componant is 6. */ - // not supported - LOCALASSERT("Smacker does not support this pixel format"==0); - return SMACKBUFFER555; - //return SMACKBUFFER655; - } - } - else - { - return 0; - } -} - - - - - - - - - - - -void StartMenuMusic(void) -{ - char *filenamePtr = "fmvs/introsound.smk"; - - /* use Direct sound */ - SmackSoundUseDirectSound(DSObject); - - /* open smacker file */ - SmackHandle[0] = SmackOpen(filenamePtr,SMACKTRACKS|SMACKNEEDVOLUME|SMACKNEEDPAN,SMACKAUTOEXTRA); -} - -void PlayMenuMusic(void) -{ - if(!SmackHandle[0]) return; - - SmackVolumePan(SmackHandle[0],SMACKTRACKS,SmackerSoundVolume*256,32768); - - if (SmackWait(SmackHandle[0])) return; - - /* unpack frame */ - SmackDoFrame(SmackHandle[0]); - - /* next frame, please */ - SmackNextFrame(SmackHandle[0]); -} -void EndMenuMusic(void) -{ - if(!SmackHandle[0]) return; - - SmackClose(SmackHandle[0]); -} - - -void FindLightingValueFromFMV(unsigned short *bufferPtr) -{ - unsigned int totalRed=0; - unsigned int totalBlue=0; - unsigned int totalGreen=0; - - int pixels = 128*96;//64*48;//256*192; - do - { - int source = (int)(*bufferPtr++); - totalBlue += source&31; - source>>=5; - totalGreen += source&63; - source>>=6; - totalRed += source&31; - } - while(--pixels); - FmvColourRed = totalRed*4/24; - FmvColourGreen = totalGreen*4/48; - FmvColourBlue = totalBlue*4/24; - -} - - -void FindLightingValueFromCentredFMV(unsigned short *bufferPtr) -{ - unsigned int totalRed=0; - unsigned int totalBlue=0; - unsigned int totalGreen=0; - - int x,y; - - for (y=32; y<32+48; y++) - for (x=32; x<32+64; x++) - { - int source = (int)(*(unsigned short*)(bufferPtr+x+y*128)); - totalBlue += source&31; - source>>=5; - totalGreen += source&63; - source>>=6; - totalRed += source&31; - } - FmvColourRed = totalRed*4/24; - FmvColourGreen = totalGreen*4/48; - FmvColourBlue = totalBlue*4/24; - -} - - - - - -/* KJL 12:45:23 10/08/98 - FMVTEXTURE stuff */ -#define MAX_NO_FMVTEXTURES 10 -FMVTEXTURE FMVTexture[MAX_NO_FMVTEXTURES]; -int NumberOfFMVTextures; - -void ScanImagesForFMVs(void) -{ - extern void SetupFMVTexture(FMVTEXTURE *ftPtr); - int i; - IMAGEHEADER *ihPtr; - NumberOfFMVTextures=0; - - #if MaxImageGroups>1 - for (j=0; jImageName,"FMVs")) - { - Smack *smackHandle; - char filename[30]; - { - char *filenamePtr = filename; - do - { - *filenamePtr++ = *strPtr; - } - while(*strPtr++!='.'); - - *filenamePtr++='s'; - *filenamePtr++='m'; - *filenamePtr++='k'; - *filenamePtr=0; - } - - smackHandle = SmackOpen(filename,SMACKTRACKS|SMACKNEEDVOLUME|SMACKNEEDPAN,SMACKAUTOEXTRA); - if (smackHandle) - { - FMVTexture[NumberOfFMVTextures].IsTriggeredPlotFMV = 0; - } - else - { - FMVTexture[NumberOfFMVTextures].IsTriggeredPlotFMV = 1; - } - - { - FMVTexture[NumberOfFMVTextures].SmackHandle = smackHandle; - FMVTexture[NumberOfFMVTextures].ImagePtr = ihPtr; - FMVTexture[NumberOfFMVTextures].StaticImageDrawn=0; - SetupFMVTexture(&FMVTexture[NumberOfFMVTextures]); - NumberOfFMVTextures++; - } - } - } - } - } - - -} - -void UpdateAllFMVTextures(void) -{ - extern void UpdateFMVTexture(FMVTEXTURE *ftPtr); - int i = NumberOfFMVTextures; - - while(i--) - { - UpdateFMVTexture(&FMVTexture[i]); - } - -} - -void ReleaseAllFMVTextures(void) -{ - extern void UpdateFMVTexture(FMVTEXTURE *ftPtr); - int i = NumberOfFMVTextures; - - while(i--) - { - FMVTexture[i].MessageNumber = 0; - if(FMVTexture[i].SmackHandle) - { - SmackClose(FMVTexture[i].SmackHandle); - FMVTexture[i].SmackHandle=0; - } - if (FMVTexture[i].SrcTexture) - { - ReleaseD3DTexture(FMVTexture[i].SrcTexture); - FMVTexture[i].SrcTexture=0; - } - if (FMVTexture[i].SrcSurface) - { - ReleaseDDSurface(FMVTexture[i].SrcSurface); - FMVTexture[i].SrcSurface=0; - } - if (FMVTexture[i].DestTexture) - { - ReleaseD3DTexture(FMVTexture[i].DestTexture); - FMVTexture[i].DestTexture = 0; - } - } - -} - - -int NextFMVTextureFrame(FMVTEXTURE *ftPtr, void *bufferPtr) -{ - int smackerFormat; - int w = 128; - - { - extern D3DINFO d3d; - smackerFormat = GetSmackerPixelFormat(&(d3d.TextureFormat[d3d.CurrentTextureFormat].ddsd.ddpfPixelFormat)); - } - if (smackerFormat) w*=2; - - if (MoviesAreActive && ftPtr->SmackHandle) - { - int volume = MUL_FIXED(SmackerSoundVolume*256,GetVolumeOfNearestVideoScreen()); - SmackVolumePan(ftPtr->SmackHandle,SMACKTRACKS,volume,PanningOfNearestVideoScreen); - ftPtr->SoundVolume = SmackerSoundVolume; - - if (SmackWait(ftPtr->SmackHandle)) return 0; - /* unpack frame */ - SmackToBuffer(ftPtr->SmackHandle,0,0,w,96,bufferPtr,smackerFormat); - - SmackDoFrame(ftPtr->SmackHandle); - - /* are we at the last frame yet? */ - if (ftPtr->IsTriggeredPlotFMV && (ftPtr->SmackHandle->FrameNum==(ftPtr->SmackHandle->Frames-1)) ) - { - SmackClose(ftPtr->SmackHandle); - ftPtr->SmackHandle = 0; - ftPtr->MessageNumber = 0; - } - else - { - /* next frame, please */ - SmackNextFrame(ftPtr->SmackHandle); - } - ftPtr->StaticImageDrawn=0; - } - else if (!ftPtr->StaticImageDrawn || smackerFormat) - { - int i = w*96/4; - unsigned int seed = FastRandom(); - int *ptr = (int*)bufferPtr; - do - { - seed = ((seed*1664525)+1013904223); - *ptr++ = seed; - } - while(--i); - ftPtr->StaticImageDrawn=1; - } - FindLightingValuesFromTriggeredFMV((unsigned char*)bufferPtr,ftPtr); - return 1; - -} - -void UpdateFMVTexturePalette(FMVTEXTURE *ftPtr) -{ - unsigned char *c; - int i; - - if (MoviesAreActive && ftPtr->SmackHandle) - { - c=ftPtr->SmackHandle->Palette; - - for(i=0;i<256;i++) - { - ftPtr->SrcPalette[i].peRed=(*c++); - ftPtr->SrcPalette[i].peGreen=(*c++); - ftPtr->SrcPalette[i].peBlue=(*c++); - } - } - else - { - { - unsigned int seed = FastRandom(); - for(i=0;i<256;i++) - { - int l = (seed&(seed>>24)&(seed>>16)); - seed = ((seed*1664525)+1013904223); - ftPtr->SrcPalette[i].peRed=l; - ftPtr->SrcPalette[i].peGreen=l; - ftPtr->SrcPalette[i].peBlue=l; - } - } - } -} - -extern void StartTriggerPlotFMV(int number) -{ - int i = NumberOfFMVTextures; - char buffer[25]; - - if (CheatMode_Active != CHEATMODE_NONACTIVE) return; - - sprintf(buffer,"FMVs//message%d.smk",number); - { - FILE* file=fopen(buffer,"rb"); - if(!file) - { - return; - } - fclose(file); - } - while(i--) - { - if (FMVTexture[i].IsTriggeredPlotFMV) - { - if(FMVTexture[i].SmackHandle) - { - SmackClose(FMVTexture[i].SmackHandle); - } - - FMVTexture[i].SmackHandle = SmackOpen(&buffer,SMACKTRACKS|SMACKNEEDVOLUME|SMACKNEEDPAN,SMACKAUTOEXTRA); - FMVTexture[i].MessageNumber = number; - } - } -} -extern void StartFMVAtFrame(int number, int frame) -{ - int i = NumberOfFMVTextures; - - StartTriggerPlotFMV(number); - - while(i--) - { - if (FMVTexture[i].IsTriggeredPlotFMV) - { - if(FMVTexture[i].SmackHandle) - { - SmackSoundOnOff(FMVTexture[i].SmackHandle,0); // turn off sound so that it is synched - SmackGoto(FMVTexture[i].SmackHandle,frame); - SmackSoundOnOff(FMVTexture[i].SmackHandle,1); // turn on sound so that it is synched -// SmackNextFrame(FMVTexture[i].SmackHandle); - } - } - } - -} -extern void GetFMVInformation(int *messageNumberPtr, int *frameNumberPtr) -{ - int i = NumberOfFMVTextures; - - while(i--) - { - if (FMVTexture[i].IsTriggeredPlotFMV) - { - if(FMVTexture[i].SmackHandle) - { - *messageNumberPtr = FMVTexture[i].MessageNumber; - *frameNumberPtr = FMVTexture[i].SmackHandle->FrameNum; - return; - } - } - } - - *messageNumberPtr = 0; - *frameNumberPtr = 0; -} - - -extern void InitialiseTriggeredFMVs(void) -{ - int i = NumberOfFMVTextures; - while(i--) - { - if (FMVTexture[i].IsTriggeredPlotFMV) - { - if(FMVTexture[i].SmackHandle) - { - SmackClose(FMVTexture[i].SmackHandle); - FMVTexture[i].MessageNumber = 0; - } - - FMVTexture[i].SmackHandle = 0; - } - } -} - -void FindLightingValuesFromTriggeredFMV(unsigned char *bufferPtr, FMVTEXTURE *ftPtr) -{ - unsigned int totalRed=0; - unsigned int totalBlue=0; - unsigned int totalGreen=0; - #if 0 - int pixels = 128*96;//64*48;//256*192; - do - { - unsigned char source = (*bufferPtr++); - totalBlue += ftPtr->SrcPalette[source].peBlue; - totalGreen += ftPtr->SrcPalette[source].peGreen; - totalRed += ftPtr->SrcPalette[source].peRed; - } - while(--pixels); - #else - int pixels = 128*96/4;//64*48;//256*192; - unsigned int *source = (unsigned int*) (bufferPtr); - do - { - int s = *source++; - { - int t = s&255; - totalBlue += ftPtr->SrcPalette[t].peBlue; - totalGreen += ftPtr->SrcPalette[t].peGreen; - totalRed += ftPtr->SrcPalette[t].peRed; - } - #if 0 - s >>=8; - { - int t = s&255; - totalBlue += ftPtr->SrcPalette[t].peBlue; - totalGreen += ftPtr->SrcPalette[t].peGreen; - totalRed += ftPtr->SrcPalette[t].peRed; - } - s >>=8; - { - int t = s&255; - totalBlue += ftPtr->SrcPalette[t].peBlue; - totalGreen += ftPtr->SrcPalette[t].peGreen; - totalRed += ftPtr->SrcPalette[t].peRed; - } - s >>=8; - { - int t = s; - totalBlue += ftPtr->SrcPalette[t].peBlue; - totalGreen += ftPtr->SrcPalette[t].peGreen; - totalRed += ftPtr->SrcPalette[t].peRed; - } - #endif - } - while(--pixels); - #endif - FmvColourRed = totalRed/48*16; - FmvColourGreen = totalGreen/48*16; - FmvColourBlue = totalBlue/48*16; - -} - -extern int NumActiveBlocks; -extern DISPLAYBLOCK *ActiveBlockList[]; -#include "showcmds.h" -int GetVolumeOfNearestVideoScreen(void) -{ - extern VIEWDESCRIPTORBLOCK *Global_VDB_Ptr; - int numberOfObjects = NumActiveBlocks; - int leastDistanceRecorded = 0x7fffffff; - VolumeOfNearestVideoScreen = 0; - - { - extern char LevelName[]; - if (!_stricmp(LevelName,"invasion_a")) - { - VolumeOfNearestVideoScreen = ONE_FIXED; - PanningOfNearestVideoScreen = ONE_FIXED/2; - } - } - - while (numberOfObjects) - { - DISPLAYBLOCK* objectPtr = ActiveBlockList[--numberOfObjects]; - STRATEGYBLOCK* sbPtr = objectPtr->ObStrategyBlock; - - if (sbPtr) - { - if (sbPtr->I_SBtype == I_BehaviourVideoScreen) - { - int dist; - VECTORCH disp; - - disp.vx = objectPtr->ObWorld.vx - Global_VDB_Ptr->VDB_World.vx; - disp.vy = objectPtr->ObWorld.vy - Global_VDB_Ptr->VDB_World.vy; - disp.vz = objectPtr->ObWorld.vz - Global_VDB_Ptr->VDB_World.vz; - - dist = Approximate3dMagnitude(&disp); - if (distONE_FIXED) VolumeOfNearestVideoScreen = ONE_FIXED; - - { - VECTORCH rightEarDirection; - #if 0 - rightEarDirection.vx = Global_VDB_Ptr->VDB_Mat.mat11; - rightEarDirection.vy = Global_VDB_Ptr->VDB_Mat.mat12; - rightEarDirection.vz = Global_VDB_Ptr->VDB_Mat.mat13; - Normalise(&disp); - #else - rightEarDirection.vx = Global_VDB_Ptr->VDB_Mat.mat11; - rightEarDirection.vy = 0; - rightEarDirection.vz = Global_VDB_Ptr->VDB_Mat.mat31; - disp.vy=0; - Normalise(&disp); - Normalise(&rightEarDirection); - #endif - PanningOfNearestVideoScreen = 32768 + DotProduct(&disp,&rightEarDirection)/2; - } - } - } - } - } - PrintDebuggingText("Volume: %d, Pan %d\n",VolumeOfNearestVideoScreen,PanningOfNearestVideoScreen); - return VolumeOfNearestVideoScreen; -} \ No newline at end of file diff --git a/3dc/win95/smacker.h b/3dc/win95/smacker.h deleted file mode 100644 index 3fd364a..0000000 --- a/3dc/win95/smacker.h +++ /dev/null @@ -1,43 +0,0 @@ -/* KJL 15:25:20 8/16/97 - * - * smacker.h - functions to handle FMV playback - * - */ -#include "smack.h" - -extern void PlayFMV(char *filenamePtr); -extern void StartMenuMusic(void); -extern void PlayMenuMusic(void); -extern void EndMenuMusic(void); - - - -typedef struct -{ - IMAGEHEADER *ImagePtr; - Smack *SmackHandle; - int SoundVolume; - int IsTriggeredPlotFMV; - int StaticImageDrawn; - - int MessageNumber; - - LPDIRECTDRAWSURFACE SrcSurface; - LPDIRECT3DTEXTURE SrcTexture; - LPDIRECT3DTEXTURE DestTexture; - PALETTEENTRY SrcPalette[256]; - - int RedScale; - int GreenScale; - int BlueScale; - -} FMVTEXTURE; - - -extern int NextFMVTextureFrame(FMVTEXTURE *ftPtr, void *bufferPtr); -extern void UpdateFMVTexturePalette(FMVTEXTURE *ftPtr); -extern void InitialiseTriggeredFMVs(void); -extern void StartTriggerPlotFMV(int number); - -extern void StartFMVAtFrame(int number, int frame); -extern void GetFMVInformation(int *messageNumberPtr, int *frameNumberPtr); diff --git a/3dc/win95/vssver.scc b/3dc/win95/vssver.scc deleted file mode 100644 index e1862ddba6326ec6a2cfd7c46d182d076684c9cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2240 zcmXxkc}!GC90%|bSU^@e9s1s2k*dLh+Su=xWcH8A`|NM#z2D6IW+Ig#;#$_d zD!=^eE*m|CXbwnvxpkVZ_uUXN__MYW!YQ}gtS(NA;a@iJg962d#-q@n@fpzM(LS&( zeD9X2gSLk4;KaKfMYIiU56=(k-bdTRLt+0PN2kgD&hVz3H*E{|WbHN}?gHz!TisJN zm2v#O0!OI_+i5%sS2SVUZ z&H0AG{V}C`XudBT9$omr_MfFiM$SJ1Zm;$1k>e-8+sk%Vt1~j=`M!y;X-?2-=>&Mg z)#CfoQ(%3`*dXa7_;q=84$b|X3Oi1ZJS*eV;1v%_zo+piK18F{-tdy~>F}DyvyQYD z@fq;cv`d-lqT0lv@Ju*&ppW`FLd zBOGwEW{Vu}1RFbJ?Bw}zhJEr%uF>3Y7kEozod?ec>s5i1Qf->OD%(#x!>(|{f7iD$ z&iA{)^Zi3&Y3An+-@G!STh^xz4sCSQ$a?mGqv{KqS)c6h2_O43?>3F45F_AAr+$HN+b<3pPB4}o>}!%wk3{oqhI+t_u6W`0Ka z(2mKKH1iK*T>pG3>xT}9Tc7Ocr|~Ev&}2<`dR*356x_e3v6$xkqTy99yyw#Vz6rJj zSNY2EG4Q_E!Syuf7Yk=jTWMCCFYsuKIJmBOU5B(l5~iSoxm<77&k%Tj=&WHh^Rq&8 zxTGzG=KQVU#=yse`^S82;DpYEs`|+Xm+*TU_~NeiAnDn#O=4*V$Md{e;NVqFk7%yX z9C-49hdFZp=E5(U7W_r?zFQ673Gt3+f7bgNc#%Wn44U(4fGr>AMzcSC1b%^YZ7Yy>R08m-qPTc`lYXE#$7Bz z6g@l?E!R_lpT7O6fo9wl?u+bdlJ;3A#LkN3!MGlAU${uEJI6S-PWZvvq_i5E_oE&* O*tgntZ%~#EgZ~GPoF%CM diff --git a/AvP.dsp b/AvP.dsp deleted file mode 100644 index 4601689..0000000 --- a/AvP.dsp +++ /dev/null @@ -1,2100 +0,0 @@ -# Microsoft Developer Studio Project File - Name="AvP" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Application" 0x0101 - -CFG=AvP - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "AvP.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "AvP.mak" CFG="AvP - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "AvP - Win32 Release" (based on "Win32 (x86) Application") -!MESSAGE "AvP - Win32 Debug" (based on "Win32 (x86) Application") -!MESSAGE "AvP - Win32 Release For Fox" (based on "Win32 (x86) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "AvP - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /Zp4 /MT /W3 /GX /O2 /I "c:\mssdk\include" /I "3dc" /I "3dc\avp" /I "3dc\avp\support" /I "3dc\avp\win95" /I "3dc\avp\win95\frontend" /I "3dc\avp\win95\gadgets" /I "3dc\include" /I "3dc\win95" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D engine=1 /D "__STDC__" /D "AVP_DEBUG_VERSION" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ddraw.lib dsound.lib dplayx.lib dinput.lib smackw32.lib binkw32.lib winmm.lib /nologo /subsystem:windows /machine:I386 /out:"avpprog.exe" /libpath:"c:\mssdk\lib" /libpath:"3dc" - -!ELSEIF "$(CFG)" == "AvP - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /Zp4 /MTd /W3 /Gm /GX /ZI /Od /I "c:\mssdk\include" /I "3dc" /I "3dc\avp" /I "3dc\avp\support" /I "3dc\avp\win95" /I "3dc\avp\win95\frontend" /I "3dc\avp\win95\gadgets" /I "3dc\include" /I "3dc\win95" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D engine=1 /D "__STDC__" /D "AVP_DEBUG_VERSION" /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "_DEBUG" -# ADD RSC /l 0x809 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ddraw.lib dsound.lib dplayx.lib dinput.lib smackw32.lib binkw32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /out:"debug_AvP.exe" /pdbtype:sept /libpath:"c:\mssdk\lib" /libpath:"3dc" - -!ELSEIF "$(CFG)" == "AvP - Win32 Release For Fox" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "AvP___Win32_Release_For_Fox" -# PROP BASE Intermediate_Dir "AvP___Win32_Release_For_Fox" -# PROP BASE Ignore_Export_Lib 0 -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "AvP___Win32_Release_For_Fox" -# PROP Intermediate_Dir "AvP___Win32_Release_For_Fox" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /Zp4 /MT /W3 /GX /O2 /I "c:\mssdk\include" /I "3dc" /I "3dc\avp" /I "3dc\avp\support" /I "3dc\avp\win95" /I "3dc\avp\win95\frontend" /I "3dc\avp\win95\gadgets" /I "3dc\include" /I "3dc\win95" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D engine=1 /D "__STDC__" /YX /FD /c -# ADD CPP /nologo /Zp4 /MT /W3 /GX /O2 /I "c:\mssdk\include" /I "3dc" /I "3dc\avp" /I "3dc\avp\support" /I "3dc\avp\win95" /I "3dc\avp\win95\frontend" /I "3dc\avp\win95\gadgets" /I "3dc\include" /I "3dc\win95" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D engine=1 /D "__STDC__" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x809 /d "NDEBUG" -# ADD RSC /l 0x809 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ddraw.lib dsound.lib dplayx.lib dinput.lib smackw32.lib binkw32.lib winmm.lib /nologo /subsystem:windows /machine:I386 /out:"AvP.exe" /libpath:"c:\mssdk\lib" /libpath:"3dc" -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ddraw.lib dsound.lib dplayx.lib dinput.lib smackw32.lib binkw32.lib winmm.lib /nologo /subsystem:windows /machine:I386 /out:"AvP.exe" /libpath:"c:\mssdk\lib" /libpath:"3dc" - -!ENDIF - -# Begin Target - -# Name "AvP - Win32 Release" -# Name "AvP - Win32 Debug" -# Name "AvP - Win32 Release For Fox" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\3dc\Afont.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\ahudgadg.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\AI_Sight.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\alt_tab.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Animchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\animobs.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_EnvInfo.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_Intro.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_MenuData.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_MenuGfx.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_Menus.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_MP_Config.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_UserProfile.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Avpchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\AvpReg.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Avpview.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\awBmpLd.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\awIffLd.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\awPnmLd.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\awTexLd.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_agun.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_ais.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_alien.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_binsw.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_cable.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_corpse.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_deathvol.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_debri.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_dummy.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_fan.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_far.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_fhug.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_gener.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_ldoor.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_lift.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_light.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_lnksw.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_ltfx.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_marin.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_mission.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_near.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_pargen.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_plachier.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_plift.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_pred.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_queen.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_RubberDuck.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_selfdest.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_snds.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_spcl.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_swdor.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_track.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_types.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_videoscreen.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_waypt.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_weap.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_xeno.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\bink.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Bmpnames.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\BonusAbilities.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\cconvars.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\CD_player.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\CDTrackSelection.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Cheat.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\CheatModes.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\chnkload.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chnktexi.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chnktype.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\chtcodes.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chunkpal.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\comp_map.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Comp_shp.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\consbind.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\consbtch.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\conscmnd.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\ConsoleLog.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\conssym.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\consvar.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\Coordstr.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\shapes\Cube.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\d3_func.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\d3d_hud.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\d3d_render.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\Daemon.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\davehook.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\db.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Dd_func.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Ddplat.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\deaths.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Debuglog.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\decal.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\DetailLevels.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Di_func.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\DirectPlay.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Dp_func.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\dplayext.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\DummyObjectChunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\dx_proj.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Dxlog.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Dynamics.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Dynblock.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\endianio.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Enumchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Enumsch.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Envchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Equipmnt.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\equiputl.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\extents.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\fail.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Ffread.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Ffstdio.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\fragchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\frustrum.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\gadget.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Game.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\game_statistics.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\gamecmds.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\gameflow.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\gamevars.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\GammaControl.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gflwplat.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Gsprchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\hierchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\hierplace.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\HModel.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Hud.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\hudgadg.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\huffman.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\iff.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\iff_ILBM.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\ILBM_ext.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\indexfnt.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\intro.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Inventry.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\io.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\iofocus.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\jsndsup.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\Kshape.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Kzsort.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Langplat.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Language.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Lighting.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\list_tem.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\load_shp.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\los.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Ltchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\Map.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Maps.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\Maths.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\md5.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\media.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\mem3dc.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\Mem3dcpp.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\mempool.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\MessageHistory.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Mishchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\missions.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\modcmds.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\Module.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\Morph.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\MouseCentreing.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\movement.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\mp_launch.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\Mslhand.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Npcsetup.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Obchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\Object.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Objsetup.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\OEChunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Our_mem.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Paintball.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\particle.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\PathChnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Pcmenus.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pfarlocs.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pheromon.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\plat_shp.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Platsup.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Player.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Pldghost.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Pldnet.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\plspecfn.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pmove.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\progress_bar.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Projload.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Psnd.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Psndplat.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Psndproj.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pvisible.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\r2base.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\r2pos666.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\reflist.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\refobj.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\rentrntq.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\rootgadg.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\savegame.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\scream.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Scrshot.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\scstring.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\SecStats.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\sfx.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\shpanim.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Shpchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\smacker.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Sndchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\sphere.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Sprchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Strachnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Stratdef.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\String.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\strtab.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\strutil.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\system.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\t_ingadg.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\Tables.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\tallfont.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\targeting.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\teletype.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Texio.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\textexp.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\textin.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Toolchnk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\track.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\trepgadg.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\trig666.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Triggers.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Txioctrl.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Usr_io.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\Vdb.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\version.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\VideoModes.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Vision.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Vramtime.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Weapons.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\win_func.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\win_proj.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\winmain.c -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\wpchunk.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\wrapstr.cpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Zsp.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\3dc\win95\advwin32.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\ahudgadg.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\AI_Sight.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\alt_tab.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Animchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\animobs.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_EnvInfo.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_MenuGfx.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_Menus.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_MP_Config.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Frontend\AvP_UserProfile.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Avpchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\avpitems.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\avppages.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\AvpReg.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Avpview.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\aw.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\awTexLd.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\awTexLd.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_agun.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_ais.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_alien.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_binsw.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_cable.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_corpse.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_deathvol.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_debri.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_dummy.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_fan.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_far.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_fhug.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_gener.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_ldoor.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_lift.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_light.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_lnksw.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_ltfx.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_marin.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_mission.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_near.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_paq.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_pargen.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_plachier.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_plift.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_pred.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_queen.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_RubberDuck.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_selfdest.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_snds.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_spcl.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_swdor.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_track.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_types.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_videoscreen.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_waypt.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\bh_weap.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Bh_xeno.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\bink.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\bink_Rad.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Bmp2.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Bmpnames.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\BonusAbilities.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\CD_player.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\CDTrackSelection.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Cheat.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chnkload.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chnkload.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chnktexi.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chnktype.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Chunkpal.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\command.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Comp_shp.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\consbind.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\consbtch.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\conscmnd.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\ConsoleLog.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\conssym.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\consvar.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\Coordstr.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\d3_func.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\d3d_hud.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\d3d_render.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\d3dmacs.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\daemon.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Database.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\datatype.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\davehook.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Db.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\dbdefs.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\dcontext.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Debuglog.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Debuglog.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\decal.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\DetailLevels.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Dp_func.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\dp_Sprh.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\dplayext.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\DummyObjectChunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Dxlog.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Dynamics.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Dynblock.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Eax.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\endianio.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Enumchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Enumsch.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Envchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Equates.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Equipmnt.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\equiputl.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\expvar.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\extents.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\fail.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Ffread.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Ffstdio.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\font.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\fragchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\frustrum.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\gadget.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\game_statistics.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Gamedef.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\gameflow.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Gameplat.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\GammaControl.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Gsprchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Hash_tem.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Heap_tem.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\hierchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\hierplace.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\hmodel.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Hud_data.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\HUD_layout.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Hud_map.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Huddefs.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\hudgadg.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Hudgfx.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\huffman.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Ia3d.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\iff.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\iff_ILBM.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\ILBM_ext.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\indexfnt.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Inline.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\intro.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Inventry.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\iofocus.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\jsndsup.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\Kshape.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Kzsort.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\langenum.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Language.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Lighting.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\list_tem.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\load_shp.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\los.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Ltchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\ltfx_exp.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Macro.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\md5.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\media.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\mempool.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\menudefs.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\menugfx.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Mishchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\missions.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Mmx_math.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\modcmds.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\Mslhand.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Multmenu.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Npcsetup.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Obchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\objedit.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Objsetup.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\OEChunk.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Ourasert.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\ourbool.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Paintball.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\particle.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\PathChnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Pcmenus.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Pentime.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pfarlocs.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pheromon.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\plat_shp.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\platform.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Pldghost.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Pldnet.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pmove.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\progress_bar.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\projfont.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Projload.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\projmenu.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\projtext.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Psnd.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Psndplat.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Psndproj.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Pvisible.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\r2base.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\r2pos666.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Rad.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\rebitems.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\rebmenus.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\reflist.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\refobj.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\rentrntq.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\rootgadg.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\savegame.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\scream.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Scrshot.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\scstring.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\sequnces.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\sfx.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\ShowCmds.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\shpanim.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Shpchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Smack.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\smacker.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Smsopt.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Sndchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\sphere.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Sprchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\statpane.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Strachnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Stratdef.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\String.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\strtab.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\strutil.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\System.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\t_ingadg.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\tallfont.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\targeting.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\teletype.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\textexp.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\textin.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Toolchnk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\track.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\gadgets\trepgadg.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\trig666.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Triggers.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Txioctrl.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Usr_io.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\version.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\VideoModes.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Vision.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\win95\Vmanpset.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Vramtime.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\Weapons.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\wpchunk.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\avp\support\wrapstr.hpp -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Zmouse.h -# End Source File -# Begin Source File - -SOURCE=.\3dc\win95\Zsp.hpp -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/AvP.dsw b/AvP.dsw deleted file mode 100644 index b862039..0000000 --- a/AvP.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "AvP"=.\AvP.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/AvP.opt b/AvP.opt deleted file mode 100644 index f034ff6c6cebaf8e3705f98d156830b4e3537b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74752 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 z - -

-

Build Log

-

---------------------Configuration: AvP - Win32 Release For Fox-------------------- -

-

Command Lines

-Creating temporary file "c:\windows\TEMP\RSPA0F3.TMP" with contents -[ -/nologo /Zp4 /MT /W3 /GX /O2 /I "c:\mssdk\include" /I "3dc" /I "3dc\avp" /I "3dc\avp\support" /I "3dc\avp\win95" /I "3dc\avp\win95\frontend" /I "3dc\avp\win95\gadgets" /I "3dc\include" /I "3dc\win95" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D engine=1 /D "__STDC__" /Fp"AvP___Win32_Release_For_Fox/AvP.pch" /YX /Fo"AvP___Win32_Release_For_Fox/" /Fd"AvP___Win32_Release_For_Fox/" /FD /c -"C:\AvP_vc\3dc\Afont.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\ahudgadg.cpp" -"C:\AvP_vc\3dc\avp\AI_Sight.c" -"C:\AvP_vc\3dc\win95\alt_tab.cpp" -"C:\AvP_vc\3dc\win95\Animchnk.cpp" -"C:\AvP_vc\3dc\win95\animobs.cpp" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_EnvInfo.c" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_Intro.cpp" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_MenuData.c" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_MenuGfx.cpp" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_Menus.c" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_MP_Config.cpp" -"C:\AvP_vc\3dc\avp\win95\Frontend\AvP_UserProfile.cpp" -"C:\AvP_vc\3dc\avp\win95\Avpchunk.cpp" -"C:\AvP_vc\3dc\avp\win95\AvpReg.cpp" -"C:\AvP_vc\3dc\avp\Avpview.c" -"C:\AvP_vc\3dc\win95\awBmpLd.cpp" -"C:\AvP_vc\3dc\win95\awIffLd.cpp" -"C:\AvP_vc\3dc\win95\awPnmLd.cpp" -"C:\AvP_vc\3dc\win95\awTexLd.cpp" -"C:\AvP_vc\3dc\avp\bh_agun.c" -"C:\AvP_vc\3dc\avp\bh_ais.c" -"C:\AvP_vc\3dc\avp\Bh_alien.c" -"C:\AvP_vc\3dc\avp\Bh_binsw.c" -"C:\AvP_vc\3dc\avp\bh_cable.c" -"C:\AvP_vc\3dc\avp\bh_corpse.c" -"C:\AvP_vc\3dc\avp\bh_deathvol.c" -"C:\AvP_vc\3dc\avp\Bh_debri.c" -"C:\AvP_vc\3dc\avp\bh_dummy.c" -"C:\AvP_vc\3dc\avp\bh_fan.c" -"C:\AvP_vc\3dc\avp\bh_far.c" -"C:\AvP_vc\3dc\avp\Bh_fhug.c" -"C:\AvP_vc\3dc\avp\Bh_gener.c" -"C:\AvP_vc\3dc\avp\bh_ldoor.c" -"C:\AvP_vc\3dc\avp\bh_lift.c" -"C:\AvP_vc\3dc\avp\bh_light.c" -"C:\AvP_vc\3dc\avp\Bh_lnksw.c" -"C:\AvP_vc\3dc\avp\bh_ltfx.c" -"C:\AvP_vc\3dc\avp\Bh_marin.c" -"C:\AvP_vc\3dc\avp\bh_mission.c" -"C:\AvP_vc\3dc\avp\Bh_near.c" -"C:\AvP_vc\3dc\avp\bh_pargen.c" -"C:\AvP_vc\3dc\avp\bh_plachier.c" -"C:\AvP_vc\3dc\avp\bh_plift.c" -"C:\AvP_vc\3dc\avp\Bh_pred.c" -"C:\AvP_vc\3dc\avp\bh_queen.c" -"C:\AvP_vc\3dc\avp\bh_RubberDuck.c" -"C:\AvP_vc\3dc\avp\bh_selfdest.c" -"C:\AvP_vc\3dc\avp\bh_snds.c" -"C:\AvP_vc\3dc\avp\bh_spcl.c" -"C:\AvP_vc\3dc\avp\Bh_swdor.c" -"C:\AvP_vc\3dc\avp\bh_track.c" -"C:\AvP_vc\3dc\avp\Bh_types.c" -"C:\AvP_vc\3dc\avp\bh_videoscreen.c" -"C:\AvP_vc\3dc\avp\bh_waypt.c" -"C:\AvP_vc\3dc\avp\bh_weap.c" -"C:\AvP_vc\3dc\avp\Bh_xeno.c" -"C:\AvP_vc\3dc\win95\bink.c" -"C:\AvP_vc\3dc\win95\Bmpnames.cpp" -"C:\AvP_vc\3dc\avp\BonusAbilities.c" -"C:\AvP_vc\3dc\avp\cconvars.cpp" -"C:\AvP_vc\3dc\win95\CD_player.c" -"C:\AvP_vc\3dc\avp\CDTrackSelection.cpp" -"C:\AvP_vc\3dc\avp\win95\Cheat.c" -"C:\AvP_vc\3dc\avp\CheatModes.c" -"C:\AvP_vc\3dc\win95\chnkload.cpp" -"C:\AvP_vc\3dc\win95\Chnktexi.cpp" -"C:\AvP_vc\3dc\win95\Chnktype.cpp" -"C:\AvP_vc\3dc\avp\win95\chtcodes.cpp" -"C:\AvP_vc\3dc\win95\Chunk.cpp" -"C:\AvP_vc\3dc\win95\Chunkpal.cpp" -"C:\AvP_vc\3dc\avp\comp_map.c" -"C:\AvP_vc\3dc\avp\Comp_shp.c" -"C:\AvP_vc\3dc\avp\support\consbind.cpp" -"C:\AvP_vc\3dc\avp\support\consbtch.cpp" -"C:\AvP_vc\3dc\avp\win95\gadgets\conscmnd.cpp" -"C:\AvP_vc\3dc\avp\ConsoleLog.cpp" -"C:\AvP_vc\3dc\avp\win95\gadgets\conssym.cpp" -"C:\AvP_vc\3dc\avp\win95\gadgets\consvar.cpp" -"C:\AvP_vc\3dc\avp\support\Coordstr.cpp" -"C:\AvP_vc\3dc\avp\shapes\Cube.c" -"C:\AvP_vc\3dc\win95\d3_func.cpp" -"C:\AvP_vc\3dc\avp\win95\d3d_hud.cpp" -"C:\AvP_vc\3dc\avp\win95\d3d_render.cpp" -"C:\AvP_vc\3dc\avp\support\Daemon.cpp" -"C:\AvP_vc\3dc\avp\davehook.cpp" -"C:\AvP_vc\3dc\win95\db.c" -"C:\AvP_vc\3dc\win95\Dd_func.cpp" -"C:\AvP_vc\3dc\avp\win95\Ddplat.cpp" -"C:\AvP_vc\3dc\avp\deaths.c" -"C:\AvP_vc\3dc\win95\Debuglog.cpp" -"C:\AvP_vc\3dc\avp\decal.c" -"C:\AvP_vc\3dc\avp\DetailLevels.c" -"C:\AvP_vc\3dc\win95\Di_func.cpp" -"C:\AvP_vc\3dc\avp\win95\DirectPlay.c" -"C:\AvP_vc\3dc\avp\win95\Dp_func.c" -"C:\AvP_vc\3dc\avp\win95\dplayext.c" -"C:\AvP_vc\3dc\win95\DummyObjectChunk.cpp" -"C:\AvP_vc\3dc\avp\win95\dx_proj.cpp" -"C:\AvP_vc\3dc\win95\Dxlog.c" -"C:\AvP_vc\3dc\avp\Dynamics.c" -"C:\AvP_vc\3dc\avp\Dynblock.c" -"C:\AvP_vc\3dc\avp\win95\endianio.c" -"C:\AvP_vc\3dc\win95\Enumchnk.cpp" -"C:\AvP_vc\3dc\win95\Enumsch.cpp" -"C:\AvP_vc\3dc\win95\Envchunk.cpp" -"C:\AvP_vc\3dc\avp\Equipmnt.c" -"C:\AvP_vc\3dc\avp\equiputl.cpp" -"C:\AvP_vc\3dc\avp\extents.c" -"C:\AvP_vc\3dc\win95\fail.c" -"C:\AvP_vc\3dc\avp\win95\Ffread.cpp" -"C:\AvP_vc\3dc\avp\win95\Ffstdio.cpp" -"C:\AvP_vc\3dc\win95\fragchnk.cpp" -"C:\AvP_vc\3dc\frustrum.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\gadget.cpp" -"C:\AvP_vc\3dc\avp\Game.c" -"C:\AvP_vc\3dc\avp\game_statistics.c" -"C:\AvP_vc\3dc\avp\gamecmds.cpp" -"C:\AvP_vc\3dc\avp\gameflow.c" -"C:\AvP_vc\3dc\avp\gamevars.cpp" -"C:\AvP_vc\3dc\avp\win95\GammaControl.cpp" -"C:\AvP_vc\3dc\avp\win95\gflwplat.c" -"C:\AvP_vc\3dc\win95\Gsprchnk.cpp" -"C:\AvP_vc\3dc\win95\hierchnk.cpp" -"C:\AvP_vc\3dc\avp\win95\hierplace.cpp" -"C:\AvP_vc\3dc\avp\HModel.c" -"C:\AvP_vc\3dc\avp\Hud.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\hudgadg.cpp" -"C:\AvP_vc\3dc\win95\huffman.cpp" -"C:\AvP_vc\3dc\win95\iff.cpp" -"C:\AvP_vc\3dc\win95\iff_ILBM.cpp" -"C:\AvP_vc\3dc\win95\ILBM_ext.cpp" -"C:\AvP_vc\3dc\avp\support\indexfnt.cpp" -"C:\AvP_vc\3dc\avp\win95\intro.cpp" -"C:\AvP_vc\3dc\avp\Inventry.c" -"C:\AvP_vc\3dc\win95\io.c" -"C:\AvP_vc\3dc\avp\win95\iofocus.cpp" -"C:\AvP_vc\3dc\avp\win95\jsndsup.cpp" -"C:\AvP_vc\3dc\Kshape.c" -"C:\AvP_vc\3dc\avp\win95\Kzsort.c" -"C:\AvP_vc\3dc\avp\win95\Langplat.c" -"C:\AvP_vc\3dc\avp\Language.c" -"C:\AvP_vc\3dc\avp\Lighting.c" -"C:\AvP_vc\3dc\win95\list_tem.cpp" -"C:\AvP_vc\3dc\avp\load_shp.c" -"C:\AvP_vc\3dc\avp\los.c" -"C:\AvP_vc\3dc\win95\Ltchunk.cpp" -"C:\AvP_vc\3dc\Map.c" -"C:\AvP_vc\3dc\avp\Maps.c" -"C:\AvP_vc\3dc\Maths.c" -"C:\AvP_vc\3dc\win95\md5.c" -"C:\AvP_vc\3dc\win95\media.cpp" -"C:\AvP_vc\3dc\mem3dc.c" -"C:\AvP_vc\3dc\Mem3dcpp.cpp" -"C:\AvP_vc\3dc\avp\mempool.c" -"C:\AvP_vc\3dc\avp\MessageHistory.c" -"C:\AvP_vc\3dc\win95\Mishchnk.cpp" -"C:\AvP_vc\3dc\avp\missions.cpp" -"C:\AvP_vc\3dc\avp\win95\modcmds.cpp" -"C:\AvP_vc\3dc\Module.c" -"C:\AvP_vc\3dc\Morph.c" -"C:\AvP_vc\3dc\avp\win95\MouseCentreing.cpp" -"C:\AvP_vc\3dc\avp\movement.c" -"C:\AvP_vc\3dc\avp\mp_launch.c" -"C:\AvP_vc\3dc\Mslhand.c" -"C:\AvP_vc\3dc\avp\win95\Npcsetup.cpp" -"C:\AvP_vc\3dc\win95\Obchunk.cpp" -"C:\AvP_vc\3dc\Object.c" -"C:\AvP_vc\3dc\avp\win95\Objsetup.cpp" -"C:\AvP_vc\3dc\win95\OEChunk.cpp" -"C:\AvP_vc\3dc\win95\Our_mem.c" -"C:\AvP_vc\3dc\avp\Paintball.c" -"C:\AvP_vc\3dc\avp\particle.c" -"C:\AvP_vc\3dc\avp\win95\PathChnk.cpp" -"C:\AvP_vc\3dc\avp\win95\Pcmenus.cpp" -"C:\AvP_vc\3dc\avp\Pfarlocs.c" -"C:\AvP_vc\3dc\avp\Pheromon.c" -"C:\AvP_vc\3dc\win95\plat_shp.c" -"C:\AvP_vc\3dc\avp\win95\Platsup.c" -"C:\AvP_vc\3dc\avp\Player.c" -"C:\AvP_vc\3dc\avp\win95\Pldghost.c" -"C:\AvP_vc\3dc\avp\win95\Pldnet.c" -"C:\AvP_vc\3dc\win95\plspecfn.c" -"C:\AvP_vc\3dc\avp\Pmove.c" -"C:\AvP_vc\3dc\avp\win95\progress_bar.cpp" -"C:\AvP_vc\3dc\avp\win95\Projload.cpp" -"C:\AvP_vc\3dc\avp\Psnd.c" -"C:\AvP_vc\3dc\avp\win95\Psndplat.c" -"C:\AvP_vc\3dc\avp\Psndproj.c" -"C:\AvP_vc\3dc\avp\Pvisible.c" -"C:\AvP_vc\3dc\avp\support\r2base.cpp" -"C:\AvP_vc\3dc\avp\support\r2pos666.cpp" -"C:\AvP_vc\3dc\avp\support\reflist.cpp" -"C:\AvP_vc\3dc\avp\support\refobj.cpp" -"C:\AvP_vc\3dc\avp\support\rentrntq.cpp" -"C:\AvP_vc\3dc\avp\win95\gadgets\rootgadg.cpp" -"C:\AvP_vc\3dc\avp\savegame.c" -"C:\AvP_vc\3dc\avp\scream.cpp" -"C:\AvP_vc\3dc\avp\win95\Scrshot.cpp" -"C:\AvP_vc\3dc\avp\support\scstring.cpp" -"C:\AvP_vc\3dc\avp\SecStats.c" -"C:\AvP_vc\3dc\avp\sfx.c" -"C:\AvP_vc\3dc\shpanim.c" -"C:\AvP_vc\3dc\win95\Shpchunk.cpp" -"C:\AvP_vc\3dc\win95\smacker.c" -"C:\AvP_vc\3dc\win95\Sndchunk.cpp" -"C:\AvP_vc\3dc\sphere.c" -"C:\AvP_vc\3dc\win95\Sprchunk.cpp" -"C:\AvP_vc\3dc\avp\win95\Strachnk.cpp" -"C:\AvP_vc\3dc\avp\Stratdef.c" -"C:\AvP_vc\3dc\win95\String.cpp" -"C:\AvP_vc\3dc\avp\support\strtab.cpp" -"C:\AvP_vc\3dc\avp\support\strutil.c" -"C:\AvP_vc\3dc\avp\win95\system.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\t_ingadg.cpp" -"C:\AvP_vc\3dc\Tables.c" -"C:\AvP_vc\3dc\avp\support\tallfont.cpp" -"C:\AvP_vc\3dc\avp\targeting.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\teletype.cpp" -"C:\AvP_vc\3dc\win95\Texio.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\textexp.cpp" -"C:\AvP_vc\3dc\avp\win95\gadgets\textin.cpp" -"C:\AvP_vc\3dc\win95\Toolchnk.cpp" -"C:\AvP_vc\3dc\avp\track.c" -"C:\AvP_vc\3dc\avp\win95\gadgets\trepgadg.cpp" -"C:\AvP_vc\3dc\avp\support\trig666.cpp" -"C:\AvP_vc\3dc\avp\Triggers.c" -"C:\AvP_vc\3dc\win95\Txioctrl.cpp" -"C:\AvP_vc\3dc\avp\win95\Usr_io.c" -"C:\AvP_vc\3dc\Vdb.c" -"C:\AvP_vc\3dc\version.c" -"C:\AvP_vc\3dc\win95\VideoModes.cpp" -"C:\AvP_vc\3dc\avp\win95\Vision.c" -"C:\AvP_vc\3dc\win95\Vramtime.c" -"C:\AvP_vc\3dc\avp\Weapons.c" -"C:\AvP_vc\3dc\win95\win_func.cpp" -"C:\AvP_vc\3dc\avp\win95\win_proj.cpp" -"C:\AvP_vc\3dc\avp\win95\winmain.c" -"C:\AvP_vc\3dc\win95\wpchunk.cpp" -"C:\AvP_vc\3dc\avp\support\wrapstr.cpp" -"C:\AvP_vc\3dc\win95\Zsp.cpp" -] -Creating command line "cl.exe @c:\windows\TEMP\RSPA0F3.TMP" -Creating temporary file "c:\windows\TEMP\RSPA0F4.TMP" with contents -[ -kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ddraw.lib dsound.lib dplayx.lib dinput.lib smackw32.lib binkw32.lib winmm.lib /nologo /subsystem:windows /incremental:no /pdb:"AvP___Win32_Release_For_Fox/AvP.pdb" /machine:I386 /out:"AvP.exe" /libpath:"c:\mssdk\lib" /libpath:"3dc" -.\AvP___Win32_Release_For_Fox\Afont.obj -.\AvP___Win32_Release_For_Fox\ahudgadg.obj -.\AvP___Win32_Release_For_Fox\AI_Sight.obj -.\AvP___Win32_Release_For_Fox\alt_tab.obj -.\AvP___Win32_Release_For_Fox\Animchnk.obj -.\AvP___Win32_Release_For_Fox\animobs.obj -.\AvP___Win32_Release_For_Fox\AvP_EnvInfo.obj -.\AvP___Win32_Release_For_Fox\AvP_Intro.obj -.\AvP___Win32_Release_For_Fox\AvP_MenuData.obj -.\AvP___Win32_Release_For_Fox\AvP_MenuGfx.obj -.\AvP___Win32_Release_For_Fox\AvP_Menus.obj -.\AvP___Win32_Release_For_Fox\AvP_MP_Config.obj -.\AvP___Win32_Release_For_Fox\AvP_UserProfile.obj -.\AvP___Win32_Release_For_Fox\Avpchunk.obj -.\AvP___Win32_Release_For_Fox\AvpReg.obj -.\AvP___Win32_Release_For_Fox\Avpview.obj -.\AvP___Win32_Release_For_Fox\awBmpLd.obj -.\AvP___Win32_Release_For_Fox\awIffLd.obj -.\AvP___Win32_Release_For_Fox\awPnmLd.obj -.\AvP___Win32_Release_For_Fox\awTexLd.obj -.\AvP___Win32_Release_For_Fox\bh_agun.obj -.\AvP___Win32_Release_For_Fox\bh_ais.obj -.\AvP___Win32_Release_For_Fox\Bh_alien.obj -.\AvP___Win32_Release_For_Fox\Bh_binsw.obj -.\AvP___Win32_Release_For_Fox\bh_cable.obj -.\AvP___Win32_Release_For_Fox\bh_corpse.obj -.\AvP___Win32_Release_For_Fox\bh_deathvol.obj -.\AvP___Win32_Release_For_Fox\Bh_debri.obj -.\AvP___Win32_Release_For_Fox\bh_dummy.obj -.\AvP___Win32_Release_For_Fox\bh_fan.obj -.\AvP___Win32_Release_For_Fox\bh_far.obj -.\AvP___Win32_Release_For_Fox\Bh_fhug.obj -.\AvP___Win32_Release_For_Fox\Bh_gener.obj -.\AvP___Win32_Release_For_Fox\bh_ldoor.obj -.\AvP___Win32_Release_For_Fox\bh_lift.obj -.\AvP___Win32_Release_For_Fox\bh_light.obj -.\AvP___Win32_Release_For_Fox\Bh_lnksw.obj -.\AvP___Win32_Release_For_Fox\bh_ltfx.obj -.\AvP___Win32_Release_For_Fox\Bh_marin.obj -.\AvP___Win32_Release_For_Fox\bh_mission.obj -.\AvP___Win32_Release_For_Fox\Bh_near.obj -.\AvP___Win32_Release_For_Fox\bh_pargen.obj -.\AvP___Win32_Release_For_Fox\bh_plachier.obj -.\AvP___Win32_Release_For_Fox\bh_plift.obj -.\AvP___Win32_Release_For_Fox\Bh_pred.obj -.\AvP___Win32_Release_For_Fox\bh_queen.obj -.\AvP___Win32_Release_For_Fox\bh_RubberDuck.obj -.\AvP___Win32_Release_For_Fox\bh_selfdest.obj -.\AvP___Win32_Release_For_Fox\bh_snds.obj -.\AvP___Win32_Release_For_Fox\bh_spcl.obj -.\AvP___Win32_Release_For_Fox\Bh_swdor.obj -.\AvP___Win32_Release_For_Fox\bh_track.obj -.\AvP___Win32_Release_For_Fox\Bh_types.obj -.\AvP___Win32_Release_For_Fox\bh_videoscreen.obj -.\AvP___Win32_Release_For_Fox\bh_waypt.obj -.\AvP___Win32_Release_For_Fox\bh_weap.obj -.\AvP___Win32_Release_For_Fox\Bh_xeno.obj -.\AvP___Win32_Release_For_Fox\bink.obj -.\AvP___Win32_Release_For_Fox\Bmpnames.obj -.\AvP___Win32_Release_For_Fox\BonusAbilities.obj -.\AvP___Win32_Release_For_Fox\cconvars.obj -.\AvP___Win32_Release_For_Fox\CD_player.obj -.\AvP___Win32_Release_For_Fox\CDTrackSelection.obj -.\AvP___Win32_Release_For_Fox\Cheat.obj -.\AvP___Win32_Release_For_Fox\CheatModes.obj -.\AvP___Win32_Release_For_Fox\chnkload.obj -.\AvP___Win32_Release_For_Fox\Chnktexi.obj -.\AvP___Win32_Release_For_Fox\Chnktype.obj -.\AvP___Win32_Release_For_Fox\chtcodes.obj -.\AvP___Win32_Release_For_Fox\Chunk.obj -.\AvP___Win32_Release_For_Fox\Chunkpal.obj -.\AvP___Win32_Release_For_Fox\comp_map.obj -.\AvP___Win32_Release_For_Fox\Comp_shp.obj -.\AvP___Win32_Release_For_Fox\consbind.obj -.\AvP___Win32_Release_For_Fox\consbtch.obj -.\AvP___Win32_Release_For_Fox\conscmnd.obj -.\AvP___Win32_Release_For_Fox\ConsoleLog.obj -.\AvP___Win32_Release_For_Fox\conssym.obj -.\AvP___Win32_Release_For_Fox\consvar.obj -.\AvP___Win32_Release_For_Fox\Coordstr.obj -.\AvP___Win32_Release_For_Fox\Cube.obj -.\AvP___Win32_Release_For_Fox\d3_func.obj -.\AvP___Win32_Release_For_Fox\d3d_hud.obj -.\AvP___Win32_Release_For_Fox\d3d_render.obj -.\AvP___Win32_Release_For_Fox\Daemon.obj -.\AvP___Win32_Release_For_Fox\davehook.obj -.\AvP___Win32_Release_For_Fox\db.obj -.\AvP___Win32_Release_For_Fox\Dd_func.obj -.\AvP___Win32_Release_For_Fox\Ddplat.obj -.\AvP___Win32_Release_For_Fox\deaths.obj -.\AvP___Win32_Release_For_Fox\Debuglog.obj -.\AvP___Win32_Release_For_Fox\decal.obj -.\AvP___Win32_Release_For_Fox\DetailLevels.obj -.\AvP___Win32_Release_For_Fox\Di_func.obj -.\AvP___Win32_Release_For_Fox\DirectPlay.obj -.\AvP___Win32_Release_For_Fox\Dp_func.obj -.\AvP___Win32_Release_For_Fox\dplayext.obj -.\AvP___Win32_Release_For_Fox\DummyObjectChunk.obj -.\AvP___Win32_Release_For_Fox\dx_proj.obj -.\AvP___Win32_Release_For_Fox\Dxlog.obj -.\AvP___Win32_Release_For_Fox\Dynamics.obj -.\AvP___Win32_Release_For_Fox\Dynblock.obj -.\AvP___Win32_Release_For_Fox\endianio.obj -.\AvP___Win32_Release_For_Fox\Enumchnk.obj -.\AvP___Win32_Release_For_Fox\Enumsch.obj -.\AvP___Win32_Release_For_Fox\Envchunk.obj -.\AvP___Win32_Release_For_Fox\Equipmnt.obj -.\AvP___Win32_Release_For_Fox\equiputl.obj -.\AvP___Win32_Release_For_Fox\extents.obj -.\AvP___Win32_Release_For_Fox\fail.obj -.\AvP___Win32_Release_For_Fox\Ffread.obj -.\AvP___Win32_Release_For_Fox\Ffstdio.obj -.\AvP___Win32_Release_For_Fox\fragchnk.obj -.\AvP___Win32_Release_For_Fox\frustrum.obj -.\AvP___Win32_Release_For_Fox\gadget.obj -.\AvP___Win32_Release_For_Fox\Game.obj -.\AvP___Win32_Release_For_Fox\game_statistics.obj -.\AvP___Win32_Release_For_Fox\gamecmds.obj -.\AvP___Win32_Release_For_Fox\gameflow.obj -.\AvP___Win32_Release_For_Fox\gamevars.obj -.\AvP___Win32_Release_For_Fox\GammaControl.obj -.\AvP___Win32_Release_For_Fox\gflwplat.obj -.\AvP___Win32_Release_For_Fox\Gsprchnk.obj -.\AvP___Win32_Release_For_Fox\hierchnk.obj -.\AvP___Win32_Release_For_Fox\hierplace.obj -.\AvP___Win32_Release_For_Fox\HModel.obj -.\AvP___Win32_Release_For_Fox\Hud.obj -.\AvP___Win32_Release_For_Fox\hudgadg.obj -.\AvP___Win32_Release_For_Fox\huffman.obj -.\AvP___Win32_Release_For_Fox\iff.obj -.\AvP___Win32_Release_For_Fox\iff_ILBM.obj -.\AvP___Win32_Release_For_Fox\ILBM_ext.obj -.\AvP___Win32_Release_For_Fox\indexfnt.obj -.\AvP___Win32_Release_For_Fox\intro.obj -.\AvP___Win32_Release_For_Fox\Inventry.obj -.\AvP___Win32_Release_For_Fox\io.obj -.\AvP___Win32_Release_For_Fox\iofocus.obj -.\AvP___Win32_Release_For_Fox\jsndsup.obj -.\AvP___Win32_Release_For_Fox\Kshape.obj -.\AvP___Win32_Release_For_Fox\Kzsort.obj -.\AvP___Win32_Release_For_Fox\Langplat.obj -.\AvP___Win32_Release_For_Fox\Language.obj -.\AvP___Win32_Release_For_Fox\Lighting.obj -.\AvP___Win32_Release_For_Fox\list_tem.obj -.\AvP___Win32_Release_For_Fox\load_shp.obj -.\AvP___Win32_Release_For_Fox\los.obj -.\AvP___Win32_Release_For_Fox\Ltchunk.obj -.\AvP___Win32_Release_For_Fox\Map.obj -.\AvP___Win32_Release_For_Fox\Maps.obj -.\AvP___Win32_Release_For_Fox\Maths.obj -.\AvP___Win32_Release_For_Fox\md5.obj -.\AvP___Win32_Release_For_Fox\media.obj -.\AvP___Win32_Release_For_Fox\mem3dc.obj -.\AvP___Win32_Release_For_Fox\Mem3dcpp.obj -.\AvP___Win32_Release_For_Fox\mempool.obj -.\AvP___Win32_Release_For_Fox\MessageHistory.obj -.\AvP___Win32_Release_For_Fox\Mishchnk.obj -.\AvP___Win32_Release_For_Fox\missions.obj -.\AvP___Win32_Release_For_Fox\modcmds.obj -.\AvP___Win32_Release_For_Fox\Module.obj -.\AvP___Win32_Release_For_Fox\Morph.obj -.\AvP___Win32_Release_For_Fox\MouseCentreing.obj -.\AvP___Win32_Release_For_Fox\movement.obj -.\AvP___Win32_Release_For_Fox\mp_launch.obj -.\AvP___Win32_Release_For_Fox\Mslhand.obj -.\AvP___Win32_Release_For_Fox\Npcsetup.obj -.\AvP___Win32_Release_For_Fox\Obchunk.obj -.\AvP___Win32_Release_For_Fox\Object.obj -.\AvP___Win32_Release_For_Fox\Objsetup.obj -.\AvP___Win32_Release_For_Fox\OEChunk.obj -.\AvP___Win32_Release_For_Fox\Our_mem.obj -.\AvP___Win32_Release_For_Fox\Paintball.obj -.\AvP___Win32_Release_For_Fox\particle.obj -.\AvP___Win32_Release_For_Fox\PathChnk.obj -.\AvP___Win32_Release_For_Fox\Pcmenus.obj -.\AvP___Win32_Release_For_Fox\Pfarlocs.obj -.\AvP___Win32_Release_For_Fox\Pheromon.obj -.\AvP___Win32_Release_For_Fox\plat_shp.obj -.\AvP___Win32_Release_For_Fox\Platsup.obj -.\AvP___Win32_Release_For_Fox\Player.obj -.\AvP___Win32_Release_For_Fox\Pldghost.obj -.\AvP___Win32_Release_For_Fox\Pldnet.obj -.\AvP___Win32_Release_For_Fox\plspecfn.obj -.\AvP___Win32_Release_For_Fox\Pmove.obj -.\AvP___Win32_Release_For_Fox\progress_bar.obj -.\AvP___Win32_Release_For_Fox\Projload.obj -.\AvP___Win32_Release_For_Fox\Psnd.obj -.\AvP___Win32_Release_For_Fox\Psndplat.obj -.\AvP___Win32_Release_For_Fox\Psndproj.obj -.\AvP___Win32_Release_For_Fox\Pvisible.obj -.\AvP___Win32_Release_For_Fox\r2base.obj -.\AvP___Win32_Release_For_Fox\r2pos666.obj -.\AvP___Win32_Release_For_Fox\reflist.obj -.\AvP___Win32_Release_For_Fox\refobj.obj -.\AvP___Win32_Release_For_Fox\rentrntq.obj -.\AvP___Win32_Release_For_Fox\rootgadg.obj -.\AvP___Win32_Release_For_Fox\savegame.obj -.\AvP___Win32_Release_For_Fox\scream.obj -.\AvP___Win32_Release_For_Fox\Scrshot.obj -.\AvP___Win32_Release_For_Fox\scstring.obj -.\AvP___Win32_Release_For_Fox\SecStats.obj -.\AvP___Win32_Release_For_Fox\sfx.obj -.\AvP___Win32_Release_For_Fox\shpanim.obj -.\AvP___Win32_Release_For_Fox\Shpchunk.obj -.\AvP___Win32_Release_For_Fox\smacker.obj -.\AvP___Win32_Release_For_Fox\Sndchunk.obj -.\AvP___Win32_Release_For_Fox\sphere.obj -.\AvP___Win32_Release_For_Fox\Sprchunk.obj -.\AvP___Win32_Release_For_Fox\Strachnk.obj -.\AvP___Win32_Release_For_Fox\Stratdef.obj -.\AvP___Win32_Release_For_Fox\String.obj -.\AvP___Win32_Release_For_Fox\strtab.obj -.\AvP___Win32_Release_For_Fox\strutil.obj -.\AvP___Win32_Release_For_Fox\system.obj -.\AvP___Win32_Release_For_Fox\t_ingadg.obj -.\AvP___Win32_Release_For_Fox\Tables.obj -.\AvP___Win32_Release_For_Fox\tallfont.obj -.\AvP___Win32_Release_For_Fox\targeting.obj -.\AvP___Win32_Release_For_Fox\teletype.obj -.\AvP___Win32_Release_For_Fox\Texio.obj -.\AvP___Win32_Release_For_Fox\textexp.obj -.\AvP___Win32_Release_For_Fox\textin.obj -.\AvP___Win32_Release_For_Fox\Toolchnk.obj -.\AvP___Win32_Release_For_Fox\track.obj -.\AvP___Win32_Release_For_Fox\trepgadg.obj -.\AvP___Win32_Release_For_Fox\trig666.obj -.\AvP___Win32_Release_For_Fox\Triggers.obj -.\AvP___Win32_Release_For_Fox\Txioctrl.obj -.\AvP___Win32_Release_For_Fox\Usr_io.obj -.\AvP___Win32_Release_For_Fox\Vdb.obj -.\AvP___Win32_Release_For_Fox\version.obj -.\AvP___Win32_Release_For_Fox\VideoModes.obj -.\AvP___Win32_Release_For_Fox\Vision.obj -.\AvP___Win32_Release_For_Fox\Vramtime.obj -.\AvP___Win32_Release_For_Fox\Weapons.obj -.\AvP___Win32_Release_For_Fox\win_func.obj -.\AvP___Win32_Release_For_Fox\win_proj.obj -.\AvP___Win32_Release_For_Fox\winmain.obj -.\AvP___Win32_Release_For_Fox\wpchunk.obj -.\AvP___Win32_Release_For_Fox\wrapstr.obj -.\AvP___Win32_Release_For_Fox\Zsp.obj -] -Creating command line "link.exe @c:\windows\TEMP\RSPA0F4.TMP" -

Output Window

-Compiling... -Afont.c -ahudgadg.cpp -AI_Sight.c -C:\AvP_vc\3dc\avp\AI_Sight.c(177) : warning C4013: 'AGunSight_FrustrumReject' undefined; assuming extern returning int -alt_tab.cpp -Animchnk.cpp -animobs.cpp -AvP_EnvInfo.c -AvP_Intro.cpp - -
- - diff --git a/License.txt b/License.txt deleted file mode 100644 index aa3e1b2..0000000 --- a/License.txt +++ /dev/null @@ -1 +0,0 @@ -The source code to Aliens Vs Predator is copyright (c) 1999-2000 Rebellion and is provided as is with no warranty for its suitability for use. You may not use this source code in full or in part for commercial purposes. Any use must include a clearly visible credit to Rebellion as the creators and owners, and reiteration of this license. \ No newline at end of file diff --git a/avp395.mk b/avp395.mk deleted file mode 100644 index f1ea96f..0000000 --- a/avp395.mk +++ /dev/null @@ -1,4 +0,0 @@ -project : c:\avp_copy\avpprog.exe c:\avp_copy\release\avp.exe .SYMBOLIC - -!include c:\avp_copy\avpprog.mk1 -!include c:\avp_copy\release\avp.mk1 diff --git a/avp395.wpj b/avp395.wpj deleted file mode 100644 index 62d88d1..0000000 --- a/avp395.wpj +++ /dev/null @@ -1,63 +0,0 @@ -40 -projectIdent -0 -VpeMain -1 -WRect -0 -0 -10240 -10240 -2 -MProject -3 -MCommand -0 -4 -MCommand -0 -2 -5 -WFileName -11 -avpprog.tgt -6 -WFileName -19 -wat_release\avp.tgt -7 -WVList -2 -8 -VComponent -9 -WRect -160 -0 -4240 -4800 -0 -0 -10 -WFileName -11 -avpprog.tgt -203 -205 -11 -VComponent -12 -WRect -4560 -0 -4160 -4800 -0 -0 -13 -WFileName -19 -wat_release\avp.tgt -0 -4 -8 diff --git a/avpprog.lk1 b/avpprog.lk1 deleted file mode 100644 index 4d9e3f4..0000000 --- a/avpprog.lk1 +++ /dev/null @@ -1,2 +0,0 @@ -FIL mmx_math.obj,afont.obj,ai_sight.obj,avpview.obj,bh_agun.obj,bh_ais.obj,bh_alien.obj,bh_binsw.obj,bh_cable.obj,bh_corpse.obj,bh_deathvol.obj,bh_debri.obj,bh_dummy.obj,bh_fan.obj,bh_far.obj,bh_fhug.obj,bh_gener.obj,bh_ldoor.obj,bh_lift.obj,bh_light.obj,bh_lnksw.obj,bh_ltfx.obj,bh_marin.obj,bh_mission.obj,bh_near.obj,bh_pargen.obj,bh_plachier.obj,bh_plift.obj,bh_pred.obj,bh_queen.obj,bh_rubberduck.obj,bh_selfdest.obj,bh_snds.obj,bh_spcl.obj,bh_swdor.obj,bh_track.obj,bh_types.obj,bh_videoscreen.obj,bh_waypt.obj,bh_weap.obj,bh_xeno.obj,bonusabilities.obj,cheatmodes.obj,comp_map.obj,comp_shp.obj,deaths.obj,decal.obj,detaillevels.obj,dynamics.obj,dynblock.obj,equipmnt.obj,extents.obj,game.obj,game_statistics.obj,gameflow.obj,hmodel.obj,hud.obj,inventry.obj,language.obj,lighting.obj,los.obj,mempool.obj,messagehistory.obj,movement.obj,mp_launch.obj,paintball.obj,particle.obj,pfarlocs.obj,pheromon.obj,player.obj,pmove.obj,psnd.obj,psndproj.obj,pvisible.obj,savegame.obj,secstats.obj,sfx.obj,cube.obj,stratdef.obj,strutil.obj,targeting.obj,track.obj,triggers.obj,weapons.obj,cheat.obj,directplay.obj,dp_func.obj,dplayext.obj,endianio.obj,avp_envinfo.obj,avp_menudata.obj,avp_menus.obj,gflwplat.obj,kzsort.obj,langplat.obj,platsup.obj,pldghost.obj,pldnet.obj,psndplat.obj,system.obj,usr_io.obj,vision.obj,winmain.obj,frustrum.obj,kshape.obj,map.obj,maths.obj,mem3dc.obj,module.obj,morph.obj,mslhand.obj,object.obj,shpanim.obj,sphere.obj,tables.obj,vdb.obj,version.obj,bink.obj,cd_player.obj,db.obj,dxlog.obj,fail.obj,io.obj,md5.obj,our_mem.obj,plat_shp.obj,plspecfn.obj,smacker.obj,texio.obj,vramtime.obj,cconvars.obj,cdtrackselection.obj,consolelog.obj,davehook.obj,equiputl.obj,gamecmds.obj,gamevars.obj,missions.obj,scream.obj,consbind.obj,consbtch.obj,coordstr.obj,daemon.obj,indexfnt.obj,r2base.obj,r2pos666.obj,reflist.obj,refobj.obj,rentrntq.obj,scstring.obj,strtab.obj,tallfont.obj,trig666.obj,wrapstr.obj,avpchunk.obj,avpreg.obj,chtcodes.obj,d3d_hud.obj,d3d_render.obj,ddplat.obj,dx_proj.obj,ffread.obj,ffstdio.obj,avp_intro.obj,avp_menugfx.obj,avp_mp_config.obj,avp_userprofile.obj,ahudgadg.obj,conscmnd.obj,conssym.obj,consvar.obj,gadget.obj,hudgadg.obj,rootgadg.obj,t_ingadg.obj,teletype.obj,textexp.obj,textin.obj,trepgadg.obj,gammacontrol.obj,hierplace.obj,intro.obj,iofocus.obj,jsndsup.obj,modcmds.obj,mousecentreing.obj,npcsetup.obj,objsetup.obj,pathchnk.obj,pcmenus.obj,progress_bar.obj,projload.obj,scrshot.obj,strachnk.obj,win_proj.obj,mem3dcpp.obj,alt_tab.obj,animchnk.obj,animobs.obj,awbmpld.obj,awiffld.obj,awpnmld.obj,awtexld.obj,bmpnames.obj,bonechunk.obj,chnkload.obj,chnktexi.obj,chnktype.obj,chunk.obj,chunkpal.obj,d3_func.obj,dd_func.obj,debuglog.obj,di_func.obj,envchunk.obj,fragchnk.obj,gsprchnk.obj,hierchnk.obj,huffman.obj,iff.obj,iff_ilbm.obj,list_tem.obj,ltchunk.obj,media.obj,mishchnk.obj,obchunk.obj,shpchunk.obj,sndchunk.obj,sprchunk.obj,txioctrl.obj,videomodes.obj,win_func.obj,wpchunk.obj - diff --git a/avpprog.mk1 b/avpprog.mk1 deleted file mode 100644 index 77a507a..0000000 --- a/avpprog.mk1 +++ /dev/null @@ -1,2278 +0,0 @@ -!define BLANK "" -c:\avp_copy\mmx_math.obj : c:\avp_copy\3dc\win95\mmx_math.asm .AUTODEPEND - @c: - cd c:\avp_copy - *wasm 3dc\win95\mmx_math.asm -i=C:\WATCOM\h;C:\WATCOM\h\nt -mf -5r -w4 -e25& - -zq - -c:\avp_copy\afont.obj : c:\avp_copy\3dc\afont.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\afont.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;& -3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3d& -c\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAVP& -_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 -& -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\ai_sight.obj : c:\avp_copy\3dc\avp\ai_sight.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\ai_sight.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avpview.obj : c:\avp_copy\3dc\avp\avpview.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\avpview.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_agun.obj : c:\avp_copy\3dc\avp\bh_agun.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_agun.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_ais.obj : c:\avp_copy\3dc\avp\bh_ais.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_ais.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_alien.obj : c:\avp_copy\3dc\avp\bh_alien.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_alien.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_binsw.obj : c:\avp_copy\3dc\avp\bh_binsw.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_binsw.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_cable.obj : c:\avp_copy\3dc\avp\bh_cable.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_cable.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_corpse.obj : c:\avp_copy\3dc\avp\bh_corpse.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_corpse.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_deathvol.obj : c:\avp_copy\3dc\avp\bh_deathvol.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_deathvol.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -& -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_debri.obj : c:\avp_copy\3dc\avp\bh_debri.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_debri.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_dummy.obj : c:\avp_copy\3dc\avp\bh_dummy.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_dummy.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_fan.obj : c:\avp_copy\3dc\avp\bh_fan.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_fan.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_far.obj : c:\avp_copy\3dc\avp\bh_far.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_far.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_fhug.obj : c:\avp_copy\3dc\avp\bh_fhug.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_fhug.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_gener.obj : c:\avp_copy\3dc\avp\bh_gener.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_gener.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_ldoor.obj : c:\avp_copy\3dc\avp\bh_ldoor.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_ldoor.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_lift.obj : c:\avp_copy\3dc\avp\bh_lift.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_lift.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_light.obj : c:\avp_copy\3dc\avp\bh_light.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_light.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_lnksw.obj : c:\avp_copy\3dc\avp\bh_lnksw.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_lnksw.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_ltfx.obj : c:\avp_copy\3dc\avp\bh_ltfx.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_ltfx.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_marin.obj : c:\avp_copy\3dc\avp\bh_marin.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_marin.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_mission.obj : c:\avp_copy\3dc\avp\bh_mission.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_mission.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -o& -r -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_near.obj : c:\avp_copy\3dc\avp\bh_near.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_near.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_pargen.obj : c:\avp_copy\3dc\avp\bh_pargen.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_pargen.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_plachier.obj : c:\avp_copy\3dc\avp\bh_plachier.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_plachier.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -& -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_plift.obj : c:\avp_copy\3dc\avp\bh_plift.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_plift.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_pred.obj : c:\avp_copy\3dc\avp\bh_pred.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_pred.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_queen.obj : c:\avp_copy\3dc\avp\bh_queen.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_queen.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_rubberduck.obj : c:\avp_copy\3dc\avp\bh_rubberduck.c .AUTODEP& -END - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_rubberduck.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watco& -m\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win9& -5\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -den& -gine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa& - -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_selfdest.obj : c:\avp_copy\3dc\avp\bh_selfdest.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_selfdest.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -& -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_snds.obj : c:\avp_copy\3dc\avp\bh_snds.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_snds.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_spcl.obj : c:\avp_copy\3dc\avp\bh_spcl.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_spcl.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_swdor.obj : c:\avp_copy\3dc\avp\bh_swdor.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_swdor.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_track.obj : c:\avp_copy\3dc\avp\bh_track.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_track.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_types.obj : c:\avp_copy\3dc\avp\bh_types.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_types.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_videoscreen.obj : c:\avp_copy\3dc\avp\bh_videoscreen.c .AUTOD& -EPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_videoscreen.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_waypt.obj : c:\avp_copy\3dc\avp\bh_waypt.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_waypt.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_weap.obj : c:\avp_copy\3dc\avp\bh_weap.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_weap.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bh_xeno.obj : c:\avp_copy\3dc\avp\bh_xeno.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bh_xeno.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bonusabilities.obj : c:\avp_copy\3dc\avp\bonusabilities.c .AUTOD& -EPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\bonusabilities.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\cheatmodes.obj : c:\avp_copy\3dc\avp\cheatmodes.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\cheatmodes.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -o& -r -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\comp_map.obj : c:\avp_copy\3dc\avp\comp_map.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\comp_map.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\comp_shp.obj : c:\avp_copy\3dc\avp\comp_shp.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\comp_shp.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\deaths.obj : c:\avp_copy\3dc\avp\deaths.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\deaths.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\decal.obj : c:\avp_copy\3dc\avp\decal.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\decal.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\& -avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadget& -s;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -& -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe& -20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\detaillevels.obj : c:\avp_copy\3dc\avp\detaillevels.c .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wcc386 3dc\avp\detaillevels.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa & --or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dynamics.obj : c:\avp_copy\3dc\avp\dynamics.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\dynamics.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dynblock.obj : c:\avp_copy\3dc\avp\dynblock.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\dynblock.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\equipmnt.obj : c:\avp_copy\3dc\avp\equipmnt.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\equipmnt.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\extents.obj : c:\avp_copy\3dc\avp\extents.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\extents.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\game.obj : c:\avp_copy\3dc\avp\game.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\game.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\a& -vp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets& -;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -d& -AVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe2& -0 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\game_statistics.obj : c:\avp_copy\3dc\avp\game_statistics.c .AUT& -ODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\game_statistics.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -& -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gameflow.obj : c:\avp_copy\3dc\avp\gameflow.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\gameflow.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\hmodel.obj : c:\avp_copy\3dc\avp\hmodel.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\hmodel.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\hud.obj : c:\avp_copy\3dc\avp\hud.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\hud.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\av& -p;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;& -3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dA& -VP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20& - -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\inventry.obj : c:\avp_copy\3dc\avp\inventry.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\inventry.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\language.obj : c:\avp_copy\3dc\avp\language.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\language.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\lighting.obj : c:\avp_copy\3dc\avp\lighting.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\lighting.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\los.obj : c:\avp_copy\3dc\avp\los.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\los.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\av& -p;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;& -3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dA& -VP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20& - -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mempool.obj : c:\avp_copy\3dc\avp\mempool.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\mempool.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\messagehistory.obj : c:\avp_copy\3dc\avp\messagehistory.c .AUTOD& -EPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\messagehistory.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\movement.obj : c:\avp_copy\3dc\avp\movement.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\movement.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mp_launch.obj : c:\avp_copy\3dc\avp\mp_launch.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\mp_launch.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\paintball.obj : c:\avp_copy\3dc\avp\paintball.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\paintball.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\particle.obj : c:\avp_copy\3dc\avp\particle.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\particle.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pfarlocs.obj : c:\avp_copy\3dc\avp\pfarlocs.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\pfarlocs.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pheromon.obj : c:\avp_copy\3dc\avp\pheromon.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\pheromon.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\player.obj : c:\avp_copy\3dc\avp\player.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\player.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pmove.obj : c:\avp_copy\3dc\avp\pmove.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\pmove.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\& -avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadget& -s;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -& -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe& -20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\psnd.obj : c:\avp_copy\3dc\avp\psnd.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\psnd.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\a& -vp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets& -;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -d& -AVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe2& -0 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\psndproj.obj : c:\avp_copy\3dc\avp\psndproj.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\psndproj.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pvisible.obj : c:\avp_copy\3dc\avp\pvisible.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\pvisible.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\savegame.obj : c:\avp_copy\3dc\avp\savegame.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\savegame.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\secstats.obj : c:\avp_copy\3dc\avp\secstats.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\secstats.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\sfx.obj : c:\avp_copy\3dc\avp\sfx.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\sfx.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\av& -p;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;& -3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dA& -VP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20& - -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\cube.obj : c:\avp_copy\3dc\avp\shapes\cube.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\shapes\cube.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -& -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\stratdef.obj : c:\avp_copy\3dc\avp\stratdef.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\stratdef.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\strutil.obj : c:\avp_copy\3dc\avp\support\strutil.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\support\strutil.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -& -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\targeting.obj : c:\avp_copy\3dc\avp\targeting.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\targeting.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\track.obj : c:\avp_copy\3dc\avp\track.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\track.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\& -avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadget& -s;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -& -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe& -20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\triggers.obj : c:\avp_copy\3dc\avp\triggers.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\triggers.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or & --oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\weapons.obj : c:\avp_copy\3dc\avp\weapons.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\weapons.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\cheat.obj : c:\avp_copy\3dc\avp\win95\cheat.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\cheat.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -& -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\directplay.obj : c:\avp_copy\3dc\avp\win95\directplay.c .AUTODEP& -END - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\directplay.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi & --oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dp_func.obj : c:\avp_copy\3dc\avp\win95\dp_func.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\dp_func.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watco& -m\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win9& -5\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -den& -gine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa& - -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dplayext.obj : c:\avp_copy\3dc\avp\win95\dplayext.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\dplayext.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\endianio.obj : c:\avp_copy\3dc\avp\win95\endianio.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\endianio.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_envinfo.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_envinfo& -.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\frontend\avp_envinfo.c -i=c:\mssdk\include;c:\watcom\& -h\nt;c:\watcom\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support& -;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 & --d_DEBUG -dengine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_menudata.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_menuda& -ta.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\frontend\avp_menudata.c -i=c:\mssdk\include;c:\watcom& -\h\nt;c:\watcom\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\suppor& -t;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32& - -d_DEBUG -dengine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_menus.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_menus.c .& -AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\frontend\avp_menus.c -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om & --oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gflwplat.obj : c:\avp_copy\3dc\avp\win95\gflwplat.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\gflwplat.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\kzsort.obj : c:\avp_copy\3dc\avp\win95\kzsort.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\kzsort.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa & --or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\langplat.obj : c:\avp_copy\3dc\avp\win95\langplat.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\langplat.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\platsup.obj : c:\avp_copy\3dc\avp\win95\platsup.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\platsup.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watco& -m\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win9& -5\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -den& -gine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa& - -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pldghost.obj : c:\avp_copy\3dc\avp\win95\pldghost.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\pldghost.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pldnet.obj : c:\avp_copy\3dc\avp\win95\pldnet.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\pldnet.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa & --or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\psndplat.obj : c:\avp_copy\3dc\avp\win95\psndplat.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\psndplat.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -o& -a -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\system.obj : c:\avp_copy\3dc\avp\win95\system.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\system.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa & --or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\usr_io.obj : c:\avp_copy\3dc\avp\win95\usr_io.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\usr_io.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa & --or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\vision.obj : c:\avp_copy\3dc\avp\win95\vision.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\vision.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa & --or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\winmain.obj : c:\avp_copy\3dc\avp\win95\winmain.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\avp\win95\winmain.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watco& -m\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win9& -5\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -den& -gine=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa& - -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\frustrum.obj : c:\avp_copy\3dc\frustrum.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\frustrum.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\a& -vp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets& -;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -d& -AVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe2& -0 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\kshape.obj : c:\avp_copy\3dc\kshape.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\kshape.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp& -;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3& -dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAV& -P_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 & --d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\map.obj : c:\avp_copy\3dc\map.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\map.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;3d& -c\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3dc\& -avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAVP_D& -EBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 -d2& - -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\maths.obj : c:\avp_copy\3dc\maths.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\maths.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;& -3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3d& -c\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAVP& -_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 -& -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mem3dc.obj : c:\avp_copy\3dc\mem3dc.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\mem3dc.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp& -;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3& -dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAV& -P_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 & --d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\module.obj : c:\avp_copy\3dc\module.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\module.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp& -;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3& -dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAV& -P_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 & --d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\morph.obj : c:\avp_copy\3dc\morph.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\morph.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;& -3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3d& -c\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAVP& -_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 -& -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mslhand.obj : c:\avp_copy\3dc\mslhand.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\mslhand.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\av& -p;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;& -3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dA& -VP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20& - -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\object.obj : c:\avp_copy\3dc\object.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\object.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp& -;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3& -dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAV& -P_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 & --d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\shpanim.obj : c:\avp_copy\3dc\shpanim.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\shpanim.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\av& -p;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;& -3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dA& -VP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20& - -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\sphere.obj : c:\avp_copy\3dc\sphere.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\sphere.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp& -;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3& -dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAV& -P_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 & --d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\tables.obj : c:\avp_copy\3dc\tables.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\tables.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp& -;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3& -dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAV& -P_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 & --d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\vdb.obj : c:\avp_copy\3dc\vdb.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\vdb.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;3d& -c\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3dc\& -avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dAVP_D& -EBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20 -d2& - -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\version.obj : c:\avp_copy\3dc\version.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\version.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\av& -p;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;& -3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -dA& -VP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe20& - -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bink.obj : c:\avp_copy\3dc\win95\bink.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\bink.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\cd_player.obj : c:\avp_copy\3dc\win95\cd_player.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\cd_player.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -& -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\db.obj : c:\avp_copy\3dc\win95\db.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\db.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\a& -vp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets& -;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -d& -AVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe2& -0 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dxlog.obj : c:\avp_copy\3dc\win95\dxlog.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\dxlog.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\fail.obj : c:\avp_copy\3dc\win95\fail.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\fail.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -o& -e20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\io.obj : c:\avp_copy\3dc\win95\io.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\io.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\a& -vp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets& -;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -d& -AVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe2& -0 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\md5.obj : c:\avp_copy\3dc\win95\md5.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\md5.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\& -avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadget& -s;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 -& -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -oe& -20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\our_mem.obj : c:\avp_copy\3dc\win95\our_mem.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\our_mem.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\plat_shp.obj : c:\avp_copy\3dc\win95\plat_shp.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\plat_shp.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -o& -r -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\plspecfn.obj : c:\avp_copy\3dc\win95\plspecfn.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\plspecfn.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -o& -r -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\smacker.obj : c:\avp_copy\3dc\win95\smacker.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\smacker.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or& - -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\texio.obj : c:\avp_copy\3dc\win95\texio.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\texio.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -or -& -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\vramtime.obj : c:\avp_copy\3dc\win95\vramtime.c .AUTODEPEND - @c: - cd c:\avp_copy - *wcc386 3dc\win95\vramtime.c -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi -oa -o& -r -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\cconvars.obj : c:\avp_copy\3dc\avp\cconvars.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\cconvars.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc& - -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\cdtrackselection.obj : c:\avp_copy\3dc\avp\cdtrackselection.cpp & -.AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\cdtrackselection.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\consolelog.obj : c:\avp_copy\3dc\avp\consolelog.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\consolelog.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\davehook.obj : c:\avp_copy\3dc\avp\davehook.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\davehook.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc& - -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\equiputl.obj : c:\avp_copy\3dc\avp\equiputl.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\equiputl.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc& - -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gamecmds.obj : c:\avp_copy\3dc\avp\gamecmds.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\gamecmds.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc& - -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gamevars.obj : c:\avp_copy\3dc\avp\gamevars.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\gamevars.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc& - -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\missions.obj : c:\avp_copy\3dc\avp\missions.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\missions.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h& -;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\g& -adgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengin& -e=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc& - -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\scream.obj : c:\avp_copy\3dc\avp\scream.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\scream.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3& -dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gad& -gets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=& -1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -& -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\consbind.obj : c:\avp_copy\3dc\avp\support\consbind.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\consbind.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\consbtch.obj : c:\avp_copy\3dc\avp\support\consbtch.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\consbtch.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\coordstr.obj : c:\avp_copy\3dc\avp\support\coordstr.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\coordstr.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\daemon.obj : c:\avp_copy\3dc\avp\support\daemon.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\daemon.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\indexfnt.obj : c:\avp_copy\3dc\avp\support\indexfnt.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\indexfnt.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\r2base.obj : c:\avp_copy\3dc\avp\support\r2base.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\r2base.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\r2pos666.obj : c:\avp_copy\3dc\avp\support\r2pos666.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\r2pos666.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\reflist.obj : c:\avp_copy\3dc\avp\support\reflist.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\reflist.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\w& -atcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\& -win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG & --dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ & --om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\refobj.obj : c:\avp_copy\3dc\avp\support\refobj.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\refobj.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\rentrntq.obj : c:\avp_copy\3dc\avp\support\rentrntq.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\rentrntq.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\scstring.obj : c:\avp_copy\3dc\avp\support\scstring.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\scstring.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\strtab.obj : c:\avp_copy\3dc\avp\support\strtab.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\strtab.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\tallfont.obj : c:\avp_copy\3dc\avp\support\tallfont.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\tallfont.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\trig666.obj : c:\avp_copy\3dc\avp\support\trig666.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\trig666.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\w& -atcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\& -win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG & --dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ & --om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\wrapstr.obj : c:\avp_copy\3dc\avp\support\wrapstr.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\support\wrapstr.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\w& -atcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\& -win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG & --dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ & --om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avpchunk.obj : c:\avp_copy\3dc\avp\win95\avpchunk.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\avpchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avpreg.obj : c:\avp_copy\3dc\avp\win95\avpreg.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\avpreg.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om& - -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\chtcodes.obj : c:\avp_copy\3dc\avp\win95\chtcodes.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\chtcodes.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\d3d_hud.obj : c:\avp_copy\3dc\avp\win95\d3d_hud.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\d3d_hud.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\d3d_render.obj : c:\avp_copy\3dc\avp\win95\d3d_render.cpp .AUTOD& -EPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\d3d_render.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\& -watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp& -\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG& - -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+& - -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\ddplat.obj : c:\avp_copy\3dc\avp\win95\ddplat.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\ddplat.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om& - -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dx_proj.obj : c:\avp_copy\3dc\avp\win95\dx_proj.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\dx_proj.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\ffread.obj : c:\avp_copy\3dc\avp\win95\ffread.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\ffread.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om& - -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\ffstdio.obj : c:\avp_copy\3dc\avp\win95\ffstdio.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\ffstdio.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_intro.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_intro.cpp& - .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\frontend\avp_intro.cpp -i=c:\mssdk\include;c:\watcom\& -h\nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support& -;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 & --d_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan & --ol -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_menugfx.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_menugfx& -.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\frontend\avp_menugfx.cpp -i=c:\mssdk\include;c:\watco& -m\h\nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\suppo& -rt;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN3& -2 -d_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexa& -n -ol -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_mp_config.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_mp_co& -nfig.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\frontend\avp_mp_config.cpp -i=c:\mssdk\include;c:\wat& -com\h\nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\sup& -port;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWI& -N32 -d_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -ote& -xan -ol -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avp_userprofile.obj : c:\avp_copy\3dc\avp\win95\frontend\avp_use& -rprofile.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\frontend\avp_userprofile.cpp -i=c:\mssdk\include;c:\w& -atcom\h\nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\s& -upport;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -d& -WIN32 -d_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -o& -texan -ol -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\ahudgadg.obj : c:\avp_copy\3dc\avp\win95\gadgets\ahudgadg.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\ahudgadg.cpp -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -o& -l -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\conscmnd.obj : c:\avp_copy\3dc\avp\win95\gadgets\conscmnd.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\conscmnd.cpp -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -o& -l -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\conssym.obj : c:\avp_copy\3dc\avp\win95\gadgets\conssym.cpp .AUT& -ODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\conssym.cpp -i=c:\mssdk\include;c:\watcom\h\n& -t;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3d& -c\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_& -DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol& - -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\consvar.obj : c:\avp_copy\3dc\avp\win95\gadgets\consvar.cpp .AUT& -ODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\consvar.cpp -i=c:\mssdk\include;c:\watcom\h\n& -t;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3d& -c\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_& -DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol& - -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gadget.obj : c:\avp_copy\3dc\avp\win95\gadgets\gadget.cpp .AUTOD& -EPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\gadget.cpp -i=c:\mssdk\include;c:\watcom\h\nt& -;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc& -\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_D& -EBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol & --ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\hudgadg.obj : c:\avp_copy\3dc\avp\win95\gadgets\hudgadg.cpp .AUT& -ODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\hudgadg.cpp -i=c:\mssdk\include;c:\watcom\h\n& -t;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3d& -c\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_& -DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol& - -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\rootgadg.obj : c:\avp_copy\3dc\avp\win95\gadgets\rootgadg.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\rootgadg.cpp -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -o& -l -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\t_ingadg.obj : c:\avp_copy\3dc\avp\win95\gadgets\t_ingadg.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\t_ingadg.cpp -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -o& -l -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\teletype.obj : c:\avp_copy\3dc\avp\win95\gadgets\teletype.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\teletype.cpp -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -o& -l -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\textexp.obj : c:\avp_copy\3dc\avp\win95\gadgets\textexp.cpp .AUT& -ODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\textexp.cpp -i=c:\mssdk\include;c:\watcom\h\n& -t;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3d& -c\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_& -DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol& - -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\textin.obj : c:\avp_copy\3dc\avp\win95\gadgets\textin.cpp .AUTOD& -EPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\textin.cpp -i=c:\mssdk\include;c:\watcom\h\nt& -;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc& -\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_D& -EBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol & --ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\trepgadg.obj : c:\avp_copy\3dc\avp\win95\gadgets\trepgadg.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gadgets\trepgadg.cpp -i=c:\mssdk\include;c:\watcom\h\& -nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3& -dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d& -_DEBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -o& -l -ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gammacontrol.obj : c:\avp_copy\3dc\avp\win95\gammacontrol.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\gammacontrol.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c& -:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\a& -vp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEB& -UG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -o& -l+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\hierplace.obj : c:\avp_copy\3dc\avp\win95\hierplace.cpp .AUTODEP& -END - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\hierplace.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\w& -atcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\& -win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG & --dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ & --om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\intro.obj : c:\avp_copy\3dc\avp\win95\intro.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\intro.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watco& -m\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win9& -5\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -den& -gine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om & --oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\iofocus.obj : c:\avp_copy\3dc\avp\win95\iofocus.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\iofocus.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\jsndsup.obj : c:\avp_copy\3dc\avp\win95\jsndsup.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\jsndsup.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\modcmds.obj : c:\avp_copy\3dc\avp\win95\modcmds.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\modcmds.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mousecentreing.obj : c:\avp_copy\3dc\avp\win95\mousecentreing.cp& -p .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\mousecentreing.cpp -i=c:\mssdk\include;c:\watcom\h\nt& -;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc& -\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_D& -EBUG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol & --ol+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\npcsetup.obj : c:\avp_copy\3dc\avp\win95\npcsetup.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\npcsetup.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\objsetup.obj : c:\avp_copy\3dc\avp\win95\objsetup.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\objsetup.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pathchnk.obj : c:\avp_copy\3dc\avp\win95\pathchnk.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\pathchnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\pcmenus.obj : c:\avp_copy\3dc\avp\win95\pcmenus.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\pcmenus.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\progress_bar.obj : c:\avp_copy\3dc\avp\win95\progress_bar.cpp .A& -UTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\progress_bar.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c& -:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\a& -vp\win95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEB& -UG -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -o& -l+ -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\projload.obj : c:\avp_copy\3dc\avp\win95\projload.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\projload.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\scrshot.obj : c:\avp_copy\3dc\avp\win95\scrshot.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\scrshot.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wat& -com\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\wi& -n95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -d& -engine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -o& -m -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\strachnk.obj : c:\avp_copy\3dc\avp\win95\strachnk.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\strachnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\win_proj.obj : c:\avp_copy\3dc\avp\win95\win_proj.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\avp\win95\win_proj.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\wa& -tcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\w& -in95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -& -dengine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -& -om -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mem3dcpp.obj : c:\avp_copy\3dc\mem3dcpp.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\mem3dcpp.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc& -\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadge& -ts;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1 & --d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -oi& - -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\alt_tab.obj : c:\avp_copy\3dc\win95\alt_tab.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\alt_tab.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\animchnk.obj : c:\avp_copy\3dc\win95\animchnk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\animchnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\animobs.obj : c:\avp_copy\3dc\win95\animobs.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\animobs.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\awbmpld.obj : c:\avp_copy\3dc\win95\awbmpld.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\awbmpld.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\awiffld.obj : c:\avp_copy\3dc\win95\awiffld.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\awiffld.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\awpnmld.obj : c:\avp_copy\3dc\win95\awpnmld.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\awpnmld.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\awtexld.obj : c:\avp_copy\3dc\win95\awtexld.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\awtexld.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bmpnames.obj : c:\avp_copy\3dc\win95\bmpnames.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\bmpnames.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\bonechunk.obj : c:\avp_copy\3dc\win95\bonechunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\bonechunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watco& -m\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win9& -5\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -den& -gine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om & --oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\chnkload.obj : c:\avp_copy\3dc\win95\chnkload.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\chnkload.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\chnktexi.obj : c:\avp_copy\3dc\win95\chnktexi.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\chnktexi.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\chnktype.obj : c:\avp_copy\3dc\win95\chnktype.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\chnktype.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\chunk.obj : c:\avp_copy\3dc\win95\chunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\chunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc & --oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\chunkpal.obj : c:\avp_copy\3dc\win95\chunkpal.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\chunkpal.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\d3_func.obj : c:\avp_copy\3dc\win95\d3_func.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\d3_func.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\dd_func.obj : c:\avp_copy\3dc\win95\dd_func.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\dd_func.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\debuglog.obj : c:\avp_copy\3dc\win95\debuglog.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\debuglog.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\di_func.obj : c:\avp_copy\3dc\win95\di_func.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\di_func.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\envchunk.obj : c:\avp_copy\3dc\win95\envchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\envchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\fragchnk.obj : c:\avp_copy\3dc\win95\fragchnk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\fragchnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\gsprchnk.obj : c:\avp_copy\3dc\win95\gsprchnk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\gsprchnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\hierchnk.obj : c:\avp_copy\3dc\win95\hierchnk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\hierchnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\huffman.obj : c:\avp_copy\3dc\win95\huffman.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\huffman.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\iff.obj : c:\avp_copy\3dc\win95\iff.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\iff.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3d& -c\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadg& -ets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine=1& - -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc -o& -i -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\iff_ilbm.obj : c:\avp_copy\3dc\win95\iff_ilbm.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\iff_ilbm.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\list_tem.obj : c:\avp_copy\3dc\win95\list_tem.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\list_tem.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\ltchunk.obj : c:\avp_copy\3dc\win95\ltchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\ltchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\media.obj : c:\avp_copy\3dc\win95\media.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\media.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;& -3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\ga& -dgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengine& -=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -oc & --oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\mishchnk.obj : c:\avp_copy\3dc\win95\mishchnk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\mishchnk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\obchunk.obj : c:\avp_copy\3dc\win95\obchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\obchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\shpchunk.obj : c:\avp_copy\3dc\win95\shpchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\shpchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\sndchunk.obj : c:\avp_copy\3dc\win95\sndchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\sndchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\sprchunk.obj : c:\avp_copy\3dc\win95\sprchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\sprchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\txioctrl.obj : c:\avp_copy\3dc\win95\txioctrl.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\txioctrl.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\videomodes.obj : c:\avp_copy\3dc\win95\videomodes.cpp .AUTODEPEN& -D - @c: - cd c:\avp_copy - *wpp386 3dc\win95\videomodes.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watc& -om\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win& -95\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -de& -ngine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om& - -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\win_func.obj : c:\avp_copy\3dc\win95\win_func.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\win_func.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom& -\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95& -\gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -deng& -ine=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -& -oc -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\wpchunk.obj : c:\avp_copy\3dc\win95\wpchunk.cpp .AUTODEPEND - @c: - cd c:\avp_copy - *wpp386 3dc\win95\wpchunk.cpp -i=c:\mssdk\include;c:\watcom\h\nt;c:\watcom\& -h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\& -gadgets;3dc\avp\win95\frontend;3dc -w4 -e25 -d_WIN32 -dWIN32 -d_DEBUG -dengi& -ne=1 -d__STDC__ -dAVP_DEBUG_VERSION -ei -zq -d_WIN32 -otexan -ol -ol+ -om -o& -c -oi -oa -or -oe20 -d2 -bm -fp5 -5r -bt=nt -mf - -c:\avp_copy\avpprog.exe : c:\avp_copy\mmx_math.obj c:\avp_copy\afont.obj c:\& -avp_copy\ai_sight.obj c:\avp_copy\avpview.obj c:\avp_copy\bh_agun.obj c:\avp& -_copy\bh_ais.obj c:\avp_copy\bh_alien.obj c:\avp_copy\bh_binsw.obj c:\avp_co& -py\bh_cable.obj c:\avp_copy\bh_corpse.obj c:\avp_copy\bh_deathvol.obj c:\avp& -_copy\bh_debri.obj c:\avp_copy\bh_dummy.obj c:\avp_copy\bh_fan.obj c:\avp_co& -py\bh_far.obj c:\avp_copy\bh_fhug.obj c:\avp_copy\bh_gener.obj c:\avp_copy\b& -h_ldoor.obj c:\avp_copy\bh_lift.obj c:\avp_copy\bh_light.obj c:\avp_copy\bh_& -lnksw.obj c:\avp_copy\bh_ltfx.obj c:\avp_copy\bh_marin.obj c:\avp_copy\bh_mi& -ssion.obj c:\avp_copy\bh_near.obj c:\avp_copy\bh_pargen.obj c:\avp_copy\bh_p& -lachier.obj c:\avp_copy\bh_plift.obj c:\avp_copy\bh_pred.obj c:\avp_copy\bh_& -queen.obj c:\avp_copy\bh_rubberduck.obj c:\avp_copy\bh_selfdest.obj c:\avp_c& -opy\bh_snds.obj c:\avp_copy\bh_spcl.obj c:\avp_copy\bh_swdor.obj c:\avp_copy& -\bh_track.obj c:\avp_copy\bh_types.obj c:\avp_copy\bh_videoscreen.obj c:\avp& -_copy\bh_waypt.obj c:\avp_copy\bh_weap.obj c:\avp_copy\bh_xeno.obj c:\avp_co& -py\bonusabilities.obj c:\avp_copy\cheatmodes.obj c:\avp_copy\comp_map.obj c:& -\avp_copy\comp_shp.obj c:\avp_copy\deaths.obj c:\avp_copy\decal.obj c:\avp_c& -opy\detaillevels.obj c:\avp_copy\dynamics.obj c:\avp_copy\dynblock.obj c:\av& -p_copy\equipmnt.obj c:\avp_copy\extents.obj c:\avp_copy\game.obj c:\avp_copy& -\game_statistics.obj c:\avp_copy\gameflow.obj c:\avp_copy\hmodel.obj c:\avp_& -copy\hud.obj c:\avp_copy\inventry.obj c:\avp_copy\language.obj c:\avp_copy\l& -ighting.obj c:\avp_copy\los.obj c:\avp_copy\mempool.obj c:\avp_copy\messageh& -istory.obj c:\avp_copy\movement.obj c:\avp_copy\mp_launch.obj c:\avp_copy\pa& -intball.obj c:\avp_copy\particle.obj c:\avp_copy\pfarlocs.obj c:\avp_copy\ph& -eromon.obj c:\avp_copy\player.obj c:\avp_copy\pmove.obj c:\avp_copy\psnd.obj& - c:\avp_copy\psndproj.obj c:\avp_copy\pvisible.obj c:\avp_copy\savegame.obj & -c:\avp_copy\secstats.obj c:\avp_copy\sfx.obj c:\avp_copy\cube.obj c:\avp_cop& -y\stratdef.obj c:\avp_copy\strutil.obj c:\avp_copy\targeting.obj c:\avp_copy& -\track.obj c:\avp_copy\triggers.obj c:\avp_copy\weapons.obj c:\avp_copy\chea& -t.obj c:\avp_copy\directplay.obj c:\avp_copy\dp_func.obj c:\avp_copy\dplayex& -t.obj c:\avp_copy\endianio.obj c:\avp_copy\avp_envinfo.obj c:\avp_copy\avp_m& -enudata.obj c:\avp_copy\avp_menus.obj c:\avp_copy\gflwplat.obj c:\avp_copy\k& -zsort.obj c:\avp_copy\langplat.obj c:\avp_copy\platsup.obj c:\avp_copy\pldgh& -ost.obj c:\avp_copy\pldnet.obj c:\avp_copy\psndplat.obj c:\avp_copy\system.o& -bj c:\avp_copy\usr_io.obj c:\avp_copy\vision.obj c:\avp_copy\winmain.obj c:\& -avp_copy\frustrum.obj c:\avp_copy\kshape.obj c:\avp_copy\map.obj c:\avp_copy& -\maths.obj c:\avp_copy\mem3dc.obj c:\avp_copy\module.obj c:\avp_copy\morph.o& -bj c:\avp_copy\mslhand.obj c:\avp_copy\object.obj c:\avp_copy\shpanim.obj c:& -\avp_copy\sphere.obj c:\avp_copy\tables.obj c:\avp_copy\vdb.obj c:\avp_copy\& -version.obj c:\avp_copy\bink.obj c:\avp_copy\cd_player.obj c:\avp_copy\db.ob& -j c:\avp_copy\dxlog.obj c:\avp_copy\fail.obj c:\avp_copy\io.obj c:\avp_copy\& -md5.obj c:\avp_copy\our_mem.obj c:\avp_copy\plat_shp.obj c:\avp_copy\plspecf& -n.obj c:\avp_copy\smacker.obj c:\avp_copy\texio.obj c:\avp_copy\vramtime.obj& - c:\avp_copy\cconvars.obj c:\avp_copy\cdtrackselection.obj c:\avp_copy\conso& -lelog.obj c:\avp_copy\davehook.obj c:\avp_copy\equiputl.obj c:\avp_copy\game& -cmds.obj c:\avp_copy\gamevars.obj c:\avp_copy\missions.obj c:\avp_copy\screa& -m.obj c:\avp_copy\consbind.obj c:\avp_copy\consbtch.obj c:\avp_copy\coordstr& -.obj c:\avp_copy\daemon.obj c:\avp_copy\indexfnt.obj c:\avp_copy\r2base.obj & -c:\avp_copy\r2pos666.obj c:\avp_copy\reflist.obj c:\avp_copy\refobj.obj c:\a& -vp_copy\rentrntq.obj c:\avp_copy\scstring.obj c:\avp_copy\strtab.obj c:\avp_& -copy\tallfont.obj c:\avp_copy\trig666.obj c:\avp_copy\wrapstr.obj c:\avp_cop& -y\avpchunk.obj c:\avp_copy\avpreg.obj c:\avp_copy\chtcodes.obj c:\avp_copy\d& -3d_hud.obj c:\avp_copy\d3d_render.obj c:\avp_copy\ddplat.obj c:\avp_copy\dx_& -proj.obj c:\avp_copy\ffread.obj c:\avp_copy\ffstdio.obj c:\avp_copy\avp_intr& -o.obj c:\avp_copy\avp_menugfx.obj c:\avp_copy\avp_mp_config.obj c:\avp_copy\& -avp_userprofile.obj c:\avp_copy\ahudgadg.obj c:\avp_copy\conscmnd.obj c:\avp& -_copy\conssym.obj c:\avp_copy\consvar.obj c:\avp_copy\gadget.obj c:\avp_copy& -\hudgadg.obj c:\avp_copy\rootgadg.obj c:\avp_copy\t_ingadg.obj c:\avp_copy\t& -eletype.obj c:\avp_copy\textexp.obj c:\avp_copy\textin.obj c:\avp_copy\trepg& -adg.obj c:\avp_copy\gammacontrol.obj c:\avp_copy\hierplace.obj c:\avp_copy\i& -ntro.obj c:\avp_copy\iofocus.obj c:\avp_copy\jsndsup.obj c:\avp_copy\modcmds& -.obj c:\avp_copy\mousecentreing.obj c:\avp_copy\npcsetup.obj c:\avp_copy\obj& -setup.obj c:\avp_copy\pathchnk.obj c:\avp_copy\pcmenus.obj c:\avp_copy\progr& -ess_bar.obj c:\avp_copy\projload.obj c:\avp_copy\scrshot.obj c:\avp_copy\str& -achnk.obj c:\avp_copy\win_proj.obj c:\avp_copy\mem3dcpp.obj c:\avp_copy\alt_& -tab.obj c:\avp_copy\animchnk.obj c:\avp_copy\animobs.obj c:\avp_copy\awbmpld& -.obj c:\avp_copy\awiffld.obj c:\avp_copy\awpnmld.obj c:\avp_copy\awtexld.obj& - c:\avp_copy\bmpnames.obj c:\avp_copy\bonechunk.obj c:\avp_copy\chnkload.obj& - c:\avp_copy\chnktexi.obj c:\avp_copy\chnktype.obj c:\avp_copy\chunk.obj c:\& -avp_copy\chunkpal.obj c:\avp_copy\d3_func.obj c:\avp_copy\dd_func.obj c:\avp& -_copy\debuglog.obj c:\avp_copy\di_func.obj c:\avp_copy\envchunk.obj c:\avp_c& -opy\fragchnk.obj c:\avp_copy\gsprchnk.obj c:\avp_copy\hierchnk.obj c:\avp_co& -py\huffman.obj c:\avp_copy\iff.obj c:\avp_copy\iff_ilbm.obj c:\avp_copy\list& -_tem.obj c:\avp_copy\ltchunk.obj c:\avp_copy\media.obj c:\avp_copy\mishchnk.& -obj c:\avp_copy\obchunk.obj c:\avp_copy\shpchunk.obj c:\avp_copy\sndchunk.ob& -j c:\avp_copy\sprchunk.obj c:\avp_copy\txioctrl.obj c:\avp_copy\videomodes.o& -bj c:\avp_copy\win_func.obj c:\avp_copy\wpchunk.obj .AUTODEPEND - @c: - cd c:\avp_copy - @%write avpprog.lk1 FIL mmx_math.obj,afont.obj,ai_sight.obj,avpview.obj,bh_& -agun.obj,bh_ais.obj,bh_alien.obj,bh_binsw.obj,bh_cable.obj,bh_corpse.obj,bh_& -deathvol.obj,bh_debri.obj,bh_dummy.obj,bh_fan.obj,bh_far.obj,bh_fhug.obj,bh_& -gener.obj,bh_ldoor.obj,bh_lift.obj,bh_light.obj,bh_lnksw.obj,bh_ltfx.obj,bh_& -marin.obj,bh_mission.obj,bh_near.obj,bh_pargen.obj,bh_plachier.obj,bh_plift.& -obj,bh_pred.obj,bh_queen.obj,bh_rubberduck.obj,bh_selfdest.obj,bh_snds.obj,b& -h_spcl.obj,bh_swdor.obj,bh_track.obj,bh_types.obj,bh_videoscreen.obj,bh_wayp& -t.obj,bh_weap.obj,bh_xeno.obj,bonusabilities.obj,cheatmodes.obj,comp_map.obj& -,comp_shp.obj,deaths.obj,decal.obj,detaillevels.obj,dynamics.obj,dynblock.ob& -j,equipmnt.obj,extents.obj,game.obj,game_statistics.obj,gameflow.obj,hmodel.& -obj,hud.obj,inventry.obj,language.obj,lighting.obj,los.obj,mempool.obj,messa& -gehistory.obj,movement.obj,mp_launch.obj,paintball.obj,particle.obj,pfarlocs& -.obj,pheromon.obj,player.obj,pmove.obj,psnd.obj,psndproj.obj,pvisible.obj,sa& -vegame.obj,secstats.obj,sfx.obj,cube.obj,stratdef.obj,strutil.obj,targeting.& -obj,track.obj,triggers.obj,weapons.obj,cheat.obj,directplay.obj,dp_func.obj,& -dplayext.obj,endianio.obj,avp_envinfo.obj,avp_menudata.obj,avp_menus.obj,gfl& -wplat.obj,kzsort.obj,langplat.obj,platsup.obj,pldghost.obj,pldnet.obj,psndpl& -at.obj,system.obj,usr_io.obj,vision.obj,winmain.obj,frustrum.obj,kshape.obj,& -map.obj,maths.obj,mem3dc.obj,module.obj,morph.obj,mslhand.obj,object.obj,shp& -anim.obj,sphere.obj,tables.obj,vdb.obj,version.obj,bink.obj,cd_player.obj,db& -.obj,dxlog.obj,fail.obj,io.obj,md5.obj,our_mem.obj,plat_shp.obj,plspecfn.obj& -,smacker.obj,texio.obj,vramtime.obj,cconvars.obj,cdtrackselection.obj,consol& -elog.obj,davehook.obj,equiputl.obj,gamecmds.obj,gamevars.obj,missions.obj,sc& -ream.obj,consbind.obj,consbtch.obj,coordstr.obj,daemon.obj,indexfnt.obj,r2ba& -se.obj,r2pos666.obj,reflist.obj,refobj.obj,rentrntq.obj,scstring.obj,strtab.& -obj,tallfont.obj,trig666.obj,wrapstr.obj,avpchunk.obj,avpreg.obj,chtcodes.ob& -j,d3d_hud.obj,d3d_render.obj,ddplat.obj,dx_proj.obj,ffread.obj,ffstdio.obj,a& -vp_intro.obj,avp_menugfx.obj,avp_mp_config.obj,avp_userprofile.obj,ahudgadg.& -obj,conscmnd.obj,conssym.obj,consvar.obj,gadget.obj,hudgadg.obj,rootgadg.obj& -,t_ingadg.obj,teletype.obj,textexp.obj,textin.obj,trepgadg.obj,gammacontrol.& -obj,hierplace.obj,intro.obj,iofocus.obj,jsndsup.obj,modcmds.obj,mousecentrei& -ng.obj,npcsetup.obj,objsetup.obj,pathchnk.obj,pcmenus.obj,progress_bar.obj,p& -rojload.obj,scrshot.obj,strachnk.obj,win_proj.obj,mem3dcpp.obj,alt_tab.obj,a& -nimchnk.obj,animobs.obj,awbmpld.obj,awiffld.obj,awpnmld.obj,awtexld.obj,bmpn& -ames.obj,bonechunk.obj,chnkload.obj,chnktexi.obj,chnktype.obj,chunk.obj,chun& -kpal.obj,d3_func.obj,dd_func.obj,debuglog.obj,di_func.obj,envchunk.obj,fragc& -hnk.obj,gsprchnk.obj,hierchnk.obj,huffman.obj,iff.obj,iff_ilbm.obj,list_tem.& -obj,ltchunk.obj,media.obj,mishchnk.obj,obchunk.obj,shpchunk.obj,sndchunk.obj& -,sprchunk.obj,txioctrl.obj,videomodes.obj,win_func.obj,wpchunk.obj - @%append avpprog.lk1 -!ifneq BLANK "" - *wlib -q -n -b avpprog.imp - @%append avpprog.lk1 LIBR avpprog.imp -!endif -!ifneq BLANK "" - @%append avpprog.lk1 op resource= -!endif - *wlink name avpprog d all SYS nt_win op m op st=256k libp c:\mssdk\lib;c:3d& -c libr ddraw,dsound,dplayx,dinput,smackw32,binkw32 op maxe=25 op q op symf @& -avpprog.lk1 - copy avpprog.exe 3dc\avpprog.exe - - diff --git a/avpprog.tgt b/avpprog.tgt deleted file mode 100644 index 17ddb7c..0000000 --- a/avpprog.tgt +++ /dev/null @@ -1,4862 +0,0 @@ -40 -targetIdent -0 -MProject -1 -MComponent -0 -2 -WString -4 -NEXE -3 -WString -5 -nw2e9 -1 -0 -1 -4 -MCommand -0 -5 -MCommand -34 -copy avpprog.exe 3dc\avpprog.exe - -6 -MItem -11 -avpprog.exe -7 -WString -4 -NEXE -8 -WVList -4 -9 -MCState -10 -WString -7 -WINLINK -11 -WString -24 -?????Incremental Linking -1 -0 -12 -MVState -13 -WString -7 -WINLINK -14 -WString -11 -?????Stack: -1 -15 -WString -4 -256k -0 -16 -MVState -17 -WString -7 -WINLINK -18 -WString -28 -?????Library directories(;): -1 -19 -WString -18 -c:\mssdk\lib;c:3dc -0 -20 -MVState -21 -WString -7 -WINLINK -22 -WString -18 -?????Libraries(,): -1 -23 -WString -43 -ddraw,dsound,dplayx,dinput,smackw32,binkw32 -0 -24 -WVList -4 -25 -ActionStates -26 -WString -5 -&Make -27 -WVList -0 -28 -ActionStates -29 -WString -4 -&Run -30 -WVList -0 -31 -ActionStates -32 -WString -7 -Sam&ple -33 -WVList -0 -34 -ActionStates -35 -WString -6 -&Debug -36 -WVList -1 -37 -MVState -38 -WString -6 -WDEBUG -39 -WString -28 -?????Application parameters: -1 -40 -WString -15 --w -h -n hangar -0 --1 -1 -1 -0 -41 -WPickList -235 -42 -MItem -5 -*.asm -43 -WString -6 -ASMOBJ -44 -WVList -0 -45 -WVList -0 --1 -1 -0 -0 -46 -MItem -22 -3dc\win95\mmx_math.asm -47 -WString -6 -ASMOBJ -48 -WVList -0 -49 -WVList -0 -42 -1 -1 -0 -50 -MItem -3 -*.c -51 -WString -4 -COBJ -52 -WVList -18 -53 -MVState -54 -WString -3 -WCC -55 -WString -25 -n????Include directories: -1 -56 -WString -152 -c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;3dc\win95;3dc\include;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -0 -57 -MVState -58 -WString -3 -WCC -59 -WString -23 -?????Macro definitions: -1 -60 -WString -46 -_WIN32 WIN32 _DEBUG engine=1 AVP_DEBUG_VERSION -0 -61 -MCState -62 -WString -3 -WCC -63 -WString -31 -?????Force enums to be type int -1 -1 -64 -MVState -65 -WString -3 -WCC -66 -WString -19 -?????Other options: -1 -67 -WString -8 --d_WIN32 -0 -68 -MRState -69 -WString -3 -WCC -70 -WString -21 -?????No optimizations -1 -0 -71 -MRState -72 -WString -3 -WCC -73 -WString -26 -?????Fastest possible code -1 -1 -74 -MCState -75 -WString -3 -WCC -76 -WString -23 -?????Loop optimizations -1 -1 -77 -MCState -78 -WString -3 -WCC -79 -WString -19 -?????Loop unrolling -1 -1 -80 -MCState -81 -WString -3 -WCC -82 -WString -23 -?????Math optimizations -1 -1 -83 -MCState -84 -WString -3 -WCC -85 -WString -30 -?????Call/return optimizations -1 -1 -86 -MCState -87 -WString -3 -WCC -88 -WString -32 -?????In-line intrinsic functions -1 -1 -89 -MCState -90 -WString -3 -WCC -91 -WString -25 -?????Relax alias checking -1 -1 -92 -MCState -93 -WString -3 -WCC -94 -WString -27 -?????Instruction scheduling -1 -1 -95 -MVState -96 -WString -3 -WCC -97 -WString -29 -?????Expand function in-line: -1 -98 -WString -2 -20 -1 -99 -MRState -100 -WString -3 -WCC -101 -WString -21 -?????Compiler default -1 -0 -102 -MCState -103 -WString -3 -WCC -104 -WString -30 -n????Multithreaded application -1 -1 -105 -MRState -106 -WString -3 -WCC -107 -WString -21 -?????Compiler default -1 -0 -108 -MRState -109 -WString -3 -WCC -110 -WString -33 -?????In-line Pentium instructions -1 -1 -111 -WVList -1 -112 -ActionStates -113 -WString -5 -&Make -114 -WVList -0 --1 -1 -1 -0 -115 -MItem -11 -3dc\afont.c -116 -WString -4 -COBJ -117 -WVList -0 -118 -WVList -0 -50 -1 -1 -0 -119 -MItem -18 -3dc\avp\ai_sight.c -120 -WString -4 -COBJ -121 -WVList -0 -122 -WVList -0 -50 -1 -1 -0 -123 -MItem -17 -3dc\avp\avpview.c -124 -WString -4 -COBJ -125 -WVList -0 -126 -WVList -0 -50 -1 -1 -0 -127 -MItem -17 -3dc\avp\bh_agun.c -128 -WString -4 -COBJ -129 -WVList -0 -130 -WVList -0 -50 -1 -1 -0 -131 -MItem -16 -3dc\avp\bh_ais.c -132 -WString -4 -COBJ -133 -WVList -0 -134 -WVList -0 -50 -1 -1 -0 -135 -MItem -18 -3dc\avp\bh_alien.c -136 -WString -4 -COBJ -137 -WVList -0 -138 -WVList -0 -50 -1 -1 -0 -139 -MItem -18 -3dc\avp\bh_binsw.c -140 -WString -4 -COBJ -141 -WVList -0 -142 -WVList -0 -50 -1 -1 -0 -143 -MItem -18 -3dc\avp\bh_cable.c -144 -WString -4 -COBJ -145 -WVList -0 -146 -WVList -0 -50 -1 -1 -0 -147 -MItem -19 -3dc\avp\bh_corpse.c -148 -WString -4 -COBJ -149 -WVList -0 -150 -WVList -0 -50 -1 -1 -0 -151 -MItem -21 -3dc\avp\bh_deathvol.c -152 -WString -4 -COBJ -153 -WVList -0 -154 -WVList -0 -50 -1 -1 -0 -155 -MItem -18 -3dc\avp\bh_debri.c -156 -WString -4 -COBJ -157 -WVList -0 -158 -WVList -0 -50 -1 -1 -0 -159 -MItem -18 -3dc\avp\bh_dummy.c -160 -WString -4 -COBJ -161 -WVList -0 -162 -WVList -0 -50 -1 -1 -0 -163 -MItem -16 -3dc\avp\bh_fan.c -164 -WString -4 -COBJ -165 -WVList -0 -166 -WVList -0 -50 -1 -1 -0 -167 -MItem -16 -3dc\avp\bh_far.c -168 -WString -4 -COBJ -169 -WVList -0 -170 -WVList -0 -50 -1 -1 -0 -171 -MItem -17 -3dc\avp\bh_fhug.c -172 -WString -4 -COBJ -173 -WVList -0 -174 -WVList -0 -50 -1 -1 -0 -175 -MItem -18 -3dc\avp\bh_gener.c -176 -WString -4 -COBJ -177 -WVList -0 -178 -WVList -0 -50 -1 -1 -0 -179 -MItem -18 -3dc\avp\bh_ldoor.c -180 -WString -4 -COBJ -181 -WVList -0 -182 -WVList -0 -50 -1 -1 -0 -183 -MItem -17 -3dc\avp\bh_lift.c -184 -WString -4 -COBJ -185 -WVList -0 -186 -WVList -0 -50 -1 -1 -0 -187 -MItem -18 -3dc\avp\bh_light.c -188 -WString -4 -COBJ -189 -WVList -0 -190 -WVList -0 -50 -1 -1 -0 -191 -MItem -18 -3dc\avp\bh_lnksw.c -192 -WString -4 -COBJ -193 -WVList -0 -194 -WVList -0 -50 -1 -1 -0 -195 -MItem -17 -3dc\avp\bh_ltfx.c -196 -WString -4 -COBJ -197 -WVList -0 -198 -WVList -0 -50 -1 -1 -0 -199 -MItem -18 -3dc\avp\bh_marin.c -200 -WString -4 -COBJ -201 -WVList -0 -202 -WVList -0 -50 -1 -1 -0 -203 -MItem -20 -3dc\avp\bh_mission.c -204 -WString -4 -COBJ -205 -WVList -0 -206 -WVList -0 -50 -1 -1 -0 -207 -MItem -17 -3dc\avp\bh_near.c -208 -WString -4 -COBJ -209 -WVList -0 -210 -WVList -0 -50 -1 -1 -0 -211 -MItem -19 -3dc\avp\bh_pargen.c -212 -WString -4 -COBJ -213 -WVList -0 -214 -WVList -0 -50 -1 -1 -0 -215 -MItem -21 -3dc\avp\bh_plachier.c -216 -WString -4 -COBJ -217 -WVList -0 -218 -WVList -0 -50 -1 -1 -0 -219 -MItem -18 -3dc\avp\bh_plift.c -220 -WString -4 -COBJ -221 -WVList -0 -222 -WVList -0 -50 -1 -1 -0 -223 -MItem -17 -3dc\avp\bh_pred.c -224 -WString -4 -COBJ -225 -WVList -0 -226 -WVList -0 -50 -1 -1 -0 -227 -MItem -18 -3dc\avp\bh_queen.c -228 -WString -4 -COBJ -229 -WVList -0 -230 -WVList -0 -50 -1 -1 -0 -231 -MItem -23 -3dc\avp\bh_rubberduck.c -232 -WString -4 -COBJ -233 -WVList -0 -234 -WVList -0 -50 -1 -1 -0 -235 -MItem -21 -3dc\avp\bh_selfdest.c -236 -WString -4 -COBJ -237 -WVList -0 -238 -WVList -0 -50 -1 -1 -0 -239 -MItem -17 -3dc\avp\bh_snds.c -240 -WString -4 -COBJ -241 -WVList -0 -242 -WVList -0 -50 -1 -1 -0 -243 -MItem -17 -3dc\avp\bh_spcl.c -244 -WString -4 -COBJ -245 -WVList -0 -246 -WVList -0 -50 -1 -1 -0 -247 -MItem -18 -3dc\avp\bh_swdor.c -248 -WString -4 -COBJ -249 -WVList -0 -250 -WVList -0 -50 -1 -1 -0 -251 -MItem -18 -3dc\avp\bh_track.c -252 -WString -4 -COBJ -253 -WVList -0 -254 -WVList -0 -50 -1 -1 -0 -255 -MItem -18 -3dc\avp\bh_types.c -256 -WString -4 -COBJ -257 -WVList -0 -258 -WVList -0 -50 -1 -1 -0 -259 -MItem -24 -3dc\avp\bh_videoscreen.c -260 -WString -4 -COBJ -261 -WVList -0 -262 -WVList -0 -50 -1 -1 -0 -263 -MItem -18 -3dc\avp\bh_waypt.c -264 -WString -4 -COBJ -265 -WVList -0 -266 -WVList -0 -50 -1 -1 -0 -267 -MItem -17 -3dc\avp\bh_weap.c -268 -WString -4 -COBJ -269 -WVList -0 -270 -WVList -0 -50 -1 -1 -0 -271 -MItem -17 -3dc\avp\bh_xeno.c -272 -WString -4 -COBJ -273 -WVList -0 -274 -WVList -0 -50 -1 -1 -0 -275 -MItem -24 -3dc\avp\bonusabilities.c -276 -WString -4 -COBJ -277 -WVList -0 -278 -WVList -0 -50 -1 -1 -0 -279 -MItem -20 -3dc\avp\cheatmodes.c -280 -WString -4 -COBJ -281 -WVList -0 -282 -WVList -0 -50 -1 -1 -0 -283 -MItem -18 -3dc\avp\comp_map.c -284 -WString -4 -COBJ -285 -WVList -0 -286 -WVList -0 -50 -1 -1 -0 -287 -MItem -18 -3dc\avp\comp_shp.c -288 -WString -4 -COBJ -289 -WVList -0 -290 -WVList -0 -50 -1 -1 -0 -291 -MItem -16 -3dc\avp\deaths.c -292 -WString -4 -COBJ -293 -WVList -0 -294 -WVList -0 -50 -1 -1 -0 -295 -MItem -15 -3dc\avp\decal.c -296 -WString -4 -COBJ -297 -WVList -0 -298 -WVList -0 -50 -1 -1 -0 -299 -MItem -22 -3dc\avp\detaillevels.c -300 -WString -4 -COBJ -301 -WVList -0 -302 -WVList -0 -50 -1 -1 -0 -303 -MItem -18 -3dc\avp\dynamics.c -304 -WString -4 -COBJ -305 -WVList -0 -306 -WVList -0 -50 -1 -1 -0 -307 -MItem -18 -3dc\avp\dynblock.c -308 -WString -4 -COBJ -309 -WVList -0 -310 -WVList -0 -50 -1 -1 -0 -311 -MItem -18 -3dc\avp\equipmnt.c -312 -WString -4 -COBJ -313 -WVList -0 -314 -WVList -0 -50 -1 -1 -0 -315 -MItem -17 -3dc\avp\extents.c -316 -WString -4 -COBJ -317 -WVList -0 -318 -WVList -0 -50 -1 -1 -0 -319 -MItem -14 -3dc\avp\game.c -320 -WString -4 -COBJ -321 -WVList -0 -322 -WVList -0 -50 -1 -1 -0 -323 -MItem -25 -3dc\avp\game_statistics.c -324 -WString -4 -COBJ -325 -WVList -0 -326 -WVList -0 -50 -1 -1 -0 -327 -MItem -18 -3dc\avp\gameflow.c -328 -WString -4 -COBJ -329 -WVList -0 -330 -WVList -0 -50 -1 -1 -0 -331 -MItem -16 -3dc\avp\hmodel.c -332 -WString -4 -COBJ -333 -WVList -0 -334 -WVList -0 -50 -1 -1 -0 -335 -MItem -13 -3dc\avp\hud.c -336 -WString -4 -COBJ -337 -WVList -0 -338 -WVList -0 -50 -1 -1 -0 -339 -MItem -18 -3dc\avp\inventry.c -340 -WString -4 -COBJ -341 -WVList -0 -342 -WVList -0 -50 -1 -1 -0 -343 -MItem -18 -3dc\avp\language.c -344 -WString -4 -COBJ -345 -WVList -0 -346 -WVList -0 -50 -1 -1 -0 -347 -MItem -18 -3dc\avp\lighting.c -348 -WString -4 -COBJ -349 -WVList -0 -350 -WVList -0 -50 -1 -1 -0 -351 -MItem -13 -3dc\avp\los.c -352 -WString -4 -COBJ -353 -WVList -0 -354 -WVList -0 -50 -1 -1 -0 -355 -MItem -17 -3dc\avp\mempool.c -356 -WString -4 -COBJ -357 -WVList -0 -358 -WVList -0 -50 -1 -1 -0 -359 -MItem -24 -3dc\avp\messagehistory.c -360 -WString -4 -COBJ -361 -WVList -0 -362 -WVList -0 -50 -1 -1 -0 -363 -MItem -18 -3dc\avp\movement.c -364 -WString -4 -COBJ -365 -WVList -0 -366 -WVList -0 -50 -1 -1 -0 -367 -MItem -19 -3dc\avp\mp_launch.c -368 -WString -4 -COBJ -369 -WVList -0 -370 -WVList -0 -50 -1 -1 -0 -371 -MItem -19 -3dc\avp\paintball.c -372 -WString -4 -COBJ -373 -WVList -0 -374 -WVList -0 -50 -1 -1 -0 -375 -MItem -18 -3dc\avp\particle.c -376 -WString -4 -COBJ -377 -WVList -0 -378 -WVList -0 -50 -1 -1 -0 -379 -MItem -18 -3dc\avp\pfarlocs.c -380 -WString -4 -COBJ -381 -WVList -0 -382 -WVList -0 -50 -1 -1 -0 -383 -MItem -18 -3dc\avp\pheromon.c -384 -WString -4 -COBJ -385 -WVList -0 -386 -WVList -0 -50 -1 -1 -0 -387 -MItem -16 -3dc\avp\player.c -388 -WString -4 -COBJ -389 -WVList -0 -390 -WVList -0 -50 -1 -1 -0 -391 -MItem -15 -3dc\avp\pmove.c -392 -WString -4 -COBJ -393 -WVList -0 -394 -WVList -0 -50 -1 -1 -0 -395 -MItem -14 -3dc\avp\psnd.c -396 -WString -4 -COBJ -397 -WVList -0 -398 -WVList -0 -50 -1 -1 -0 -399 -MItem -18 -3dc\avp\psndproj.c -400 -WString -4 -COBJ -401 -WVList -0 -402 -WVList -0 -50 -1 -1 -0 -403 -MItem -18 -3dc\avp\pvisible.c -404 -WString -4 -COBJ -405 -WVList -0 -406 -WVList -0 -50 -1 -1 -0 -407 -MItem -18 -3dc\avp\savegame.c -408 -WString -4 -COBJ -409 -WVList -0 -410 -WVList -0 -50 -1 -1 -0 -411 -MItem -18 -3dc\avp\secstats.c -412 -WString -4 -COBJ -413 -WVList -0 -414 -WVList -0 -50 -1 -1 -0 -415 -MItem -13 -3dc\avp\sfx.c -416 -WString -4 -COBJ -417 -WVList -0 -418 -WVList -0 -50 -1 -1 -0 -419 -MItem -21 -3dc\avp\shapes\cube.c -420 -WString -4 -COBJ -421 -WVList -0 -422 -WVList -0 -50 -1 -1 -0 -423 -MItem -18 -3dc\avp\stratdef.c -424 -WString -4 -COBJ -425 -WVList -0 -426 -WVList -0 -50 -1 -1 -0 -427 -MItem -25 -3dc\avp\support\strutil.c -428 -WString -4 -COBJ -429 -WVList -0 -430 -WVList -0 -50 -1 -1 -0 -431 -MItem -19 -3dc\avp\targeting.c -432 -WString -4 -COBJ -433 -WVList -0 -434 -WVList -0 -50 -1 -1 -0 -435 -MItem -15 -3dc\avp\track.c -436 -WString -4 -COBJ -437 -WVList -0 -438 -WVList -0 -50 -1 -1 -0 -439 -MItem -18 -3dc\avp\triggers.c -440 -WString -4 -COBJ -441 -WVList -0 -442 -WVList -0 -50 -1 -1 -0 -443 -MItem -17 -3dc\avp\weapons.c -444 -WString -4 -COBJ -445 -WVList -0 -446 -WVList -0 -50 -1 -1 -0 -447 -MItem -21 -3dc\avp\win95\cheat.c -448 -WString -4 -COBJ -449 -WVList -0 -450 -WVList -0 -50 -1 -1 -0 -451 -MItem -26 -3dc\avp\win95\directplay.c -452 -WString -4 -COBJ -453 -WVList -0 -454 -WVList -0 -50 -1 -1 -0 -455 -MItem -23 -3dc\avp\win95\dp_func.c -456 -WString -4 -COBJ -457 -WVList -0 -458 -WVList -0 -50 -1 -1 -0 -459 -MItem -24 -3dc\avp\win95\dplayext.c -460 -WString -4 -COBJ -461 -WVList -0 -462 -WVList -0 -50 -1 -1 -0 -463 -MItem -24 -3dc\avp\win95\endianio.c -464 -WString -4 -COBJ -465 -WVList -0 -466 -WVList -0 -50 -1 -1 -0 -467 -MItem -36 -3dc\avp\win95\frontend\avp_envinfo.c -468 -WString -4 -COBJ -469 -WVList -0 -470 -WVList -0 -50 -1 -1 -0 -471 -MItem -37 -3dc\avp\win95\frontend\avp_menudata.c -472 -WString -4 -COBJ -473 -WVList -0 -474 -WVList -0 -50 -1 -1 -0 -475 -MItem -34 -3dc\avp\win95\frontend\avp_menus.c -476 -WString -4 -COBJ -477 -WVList -0 -478 -WVList -0 -50 -1 -1 -0 -479 -MItem -24 -3dc\avp\win95\gflwplat.c -480 -WString -4 -COBJ -481 -WVList -0 -482 -WVList -0 -50 -1 -1 -0 -483 -MItem -22 -3dc\avp\win95\kzsort.c -484 -WString -4 -COBJ -485 -WVList -0 -486 -WVList -0 -50 -1 -1 -0 -487 -MItem -24 -3dc\avp\win95\langplat.c -488 -WString -4 -COBJ -489 -WVList -0 -490 -WVList -0 -50 -1 -1 -0 -491 -MItem -23 -3dc\avp\win95\platsup.c -492 -WString -4 -COBJ -493 -WVList -0 -494 -WVList -0 -50 -1 -1 -0 -495 -MItem -24 -3dc\avp\win95\pldghost.c -496 -WString -4 -COBJ -497 -WVList -0 -498 -WVList -0 -50 -1 -1 -0 -499 -MItem -22 -3dc\avp\win95\pldnet.c -500 -WString -4 -COBJ -501 -WVList -0 -502 -WVList -0 -50 -1 -1 -0 -503 -MItem -24 -3dc\avp\win95\psndplat.c -504 -WString -4 -COBJ -505 -WVList -0 -506 -WVList -0 -50 -1 -1 -0 -507 -MItem -22 -3dc\avp\win95\system.c -508 -WString -4 -COBJ -509 -WVList -0 -510 -WVList -0 -50 -1 -1 -0 -511 -MItem -22 -3dc\avp\win95\usr_io.c -512 -WString -4 -COBJ -513 -WVList -0 -514 -WVList -0 -50 -1 -1 -0 -515 -MItem -22 -3dc\avp\win95\vision.c -516 -WString -4 -COBJ -517 -WVList -0 -518 -WVList -0 -50 -1 -1 -0 -519 -MItem -23 -3dc\avp\win95\winmain.c -520 -WString -4 -COBJ -521 -WVList -0 -522 -WVList -0 -50 -1 -1 -0 -523 -MItem -14 -3dc\frustrum.c -524 -WString -4 -COBJ -525 -WVList -0 -526 -WVList -0 -50 -1 -1 -0 -527 -MItem -12 -3dc\kshape.c -528 -WString -4 -COBJ -529 -WVList -0 -530 -WVList -0 -50 -1 -1 -0 -531 -MItem -9 -3dc\map.c -532 -WString -4 -COBJ -533 -WVList -0 -534 -WVList -0 -50 -1 -1 -0 -535 -MItem -11 -3dc\maths.c -536 -WString -4 -COBJ -537 -WVList -0 -538 -WVList -0 -50 -1 -1 -0 -539 -MItem -12 -3dc\mem3dc.c -540 -WString -4 -COBJ -541 -WVList -0 -542 -WVList -0 -50 -1 -1 -0 -543 -MItem -12 -3dc\module.c -544 -WString -4 -COBJ -545 -WVList -0 -546 -WVList -0 -50 -1 -1 -0 -547 -MItem -11 -3dc\morph.c -548 -WString -4 -COBJ -549 -WVList -0 -550 -WVList -0 -50 -1 -1 -0 -551 -MItem -13 -3dc\mslhand.c -552 -WString -4 -COBJ -553 -WVList -0 -554 -WVList -0 -50 -1 -1 -0 -555 -MItem -12 -3dc\object.c -556 -WString -4 -COBJ -557 -WVList -0 -558 -WVList -0 -50 -1 -1 -0 -559 -MItem -13 -3dc\shpanim.c -560 -WString -4 -COBJ -561 -WVList -0 -562 -WVList -0 -50 -1 -1 -0 -563 -MItem -12 -3dc\sphere.c -564 -WString -4 -COBJ -565 -WVList -0 -566 -WVList -0 -50 -1 -1 -0 -567 -MItem -12 -3dc\tables.c -568 -WString -4 -COBJ -569 -WVList -0 -570 -WVList -0 -50 -1 -1 -0 -571 -MItem -9 -3dc\vdb.c -572 -WString -4 -COBJ -573 -WVList -0 -574 -WVList -0 -50 -1 -1 -0 -575 -MItem -13 -3dc\version.c -576 -WString -4 -COBJ -577 -WVList -0 -578 -WVList -0 -50 -1 -1 -0 -579 -MItem -16 -3dc\win95\bink.c -580 -WString -4 -COBJ -581 -WVList -0 -582 -WVList -0 -50 -1 -1 -0 -583 -MItem -21 -3dc\win95\cd_player.c -584 -WString -4 -COBJ -585 -WVList -0 -586 -WVList -0 -50 -1 -1 -0 -587 -MItem -14 -3dc\win95\db.c -588 -WString -4 -COBJ -589 -WVList -0 -590 -WVList -0 -50 -1 -1 -0 -591 -MItem -17 -3dc\win95\dxlog.c -592 -WString -4 -COBJ -593 -WVList -0 -594 -WVList -0 -50 -1 -1 -0 -595 -MItem -16 -3dc\win95\fail.c -596 -WString -4 -COBJ -597 -WVList -0 -598 -WVList -0 -50 -1 -1 -0 -599 -MItem -14 -3dc\win95\io.c -600 -WString -4 -COBJ -601 -WVList -0 -602 -WVList -0 -50 -1 -1 -0 -603 -MItem -15 -3dc\win95\md5.c -604 -WString -4 -COBJ -605 -WVList -0 -606 -WVList -0 -50 -1 -1 -0 -607 -MItem -19 -3dc\win95\our_mem.c -608 -WString -4 -COBJ -609 -WVList -0 -610 -WVList -0 -50 -1 -1 -0 -611 -MItem -20 -3dc\win95\plat_shp.c -612 -WString -4 -COBJ -613 -WVList -0 -614 -WVList -0 -50 -1 -1 -0 -615 -MItem -20 -3dc\win95\plspecfn.c -616 -WString -4 -COBJ -617 -WVList -0 -618 -WVList -0 -50 -1 -1 -0 -619 -MItem -19 -3dc\win95\smacker.c -620 -WString -4 -COBJ -621 -WVList -0 -622 -WVList -0 -50 -1 -1 -0 -623 -MItem -17 -3dc\win95\texio.c -624 -WString -4 -COBJ -625 -WVList -0 -626 -WVList -0 -50 -1 -1 -0 -627 -MItem -20 -3dc\win95\vramtime.c -628 -WString -4 -COBJ -629 -WVList -0 -630 -WVList -0 -50 -1 -1 -0 -631 -MItem -5 -*.cpp -632 -WString -6 -CPPOBJ -633 -WVList -18 -634 -MVState -635 -WString -3 -WPP -636 -WString -25 -n????Include directories: -1 -637 -WString -152 -c:\mssdk\include;c:\watcom\h\nt;c:\watcom\h;3dc\avp;3dc\include;3dc\win95;3dc\avp\win95;3dc\avp\support;3dc\avp\win95\gadgets;3dc\avp\win95\frontend;3dc -0 -638 -MVState -639 -WString -3 -WPP -640 -WString -23 -?????Macro definitions: -1 -641 -WString -56 -_WIN32 WIN32 _DEBUG engine=1 __STDC__ AVP_DEBUG_VERSION -0 -642 -MCState -643 -WString -3 -WPP -644 -WString -31 -?????Force enums to be type int -1 -1 -645 -MVState -646 -WString -3 -WPP -647 -WString -19 -?????Other options: -1 -648 -WString -8 --d_WIN32 -0 -649 -MRState -650 -WString -3 -WPP -651 -WString -21 -?????No optimizations -1 -0 -652 -MRState -653 -WString -3 -WPP -654 -WString -26 -?????Fastest possible code -1 -1 -655 -MCState -656 -WString -3 -WPP -657 -WString -23 -?????Loop optimizations -1 -1 -658 -MCState -659 -WString -3 -WPP -660 -WString -19 -?????Loop unrolling -1 -1 -661 -MCState -662 -WString -3 -WPP -663 -WString -23 -?????Math optimizations -1 -1 -664 -MCState -665 -WString -3 -WPP -666 -WString -30 -?????Call/return optimizations -1 -1 -667 -MCState -668 -WString -3 -WPP -669 -WString -32 -?????In-line intrinsic functions -1 -1 -670 -MCState -671 -WString -3 -WPP -672 -WString -25 -?????Relax alias checking -1 -1 -673 -MCState -674 -WString -3 -WPP -675 -WString -27 -?????Instruction scheduling -1 -1 -676 -MVState -677 -WString -3 -WPP -678 -WString -29 -?????Expand function in-line: -1 -679 -WString -2 -20 -1 -680 -MRState -681 -WString -3 -WPP -682 -WString -21 -?????Compiler default -1 -0 -683 -MCState -684 -WString -3 -WPP -685 -WString -30 -n????Multithreaded application -1 -1 -686 -MRState -687 -WString -3 -WPP -688 -WString -21 -?????Compiler default -1 -0 -689 -MRState -690 -WString -3 -WPP -691 -WString -33 -?????In-line Pentium instructions -1 -1 -692 -WVList -0 --1 -1 -1 -0 -693 -MItem -20 -3dc\avp\cconvars.cpp -694 -WString -6 -CPPOBJ -695 -WVList -0 -696 -WVList -0 -631 -1 -1 -0 -697 -MItem -28 -3dc\avp\cdtrackselection.cpp -698 -WString -6 -CPPOBJ -699 -WVList -0 -700 -WVList -0 -631 -1 -1 -0 -701 -MItem -22 -3dc\avp\consolelog.cpp -702 -WString -6 -CPPOBJ -703 -WVList -0 -704 -WVList -0 -631 -1 -1 -0 -705 -MItem -20 -3dc\avp\davehook.cpp -706 -WString -6 -CPPOBJ -707 -WVList -0 -708 -WVList -0 -631 -1 -1 -0 -709 -MItem -20 -3dc\avp\equiputl.cpp -710 -WString -6 -CPPOBJ -711 -WVList -0 -712 -WVList -0 -631 -1 -1 -0 -713 -MItem -20 -3dc\avp\gamecmds.cpp -714 -WString -6 -CPPOBJ -715 -WVList -0 -716 -WVList -0 -631 -1 -1 -0 -717 -MItem -20 -3dc\avp\gamevars.cpp -718 -WString -6 -CPPOBJ -719 -WVList -0 -720 -WVList -0 -631 -1 -1 -0 -721 -MItem -20 -3dc\avp\missions.cpp -722 -WString -6 -CPPOBJ -723 -WVList -0 -724 -WVList -0 -631 -1 -1 -0 -725 -MItem -18 -3dc\avp\scream.cpp -726 -WString -6 -CPPOBJ -727 -WVList -0 -728 -WVList -0 -631 -1 -1 -0 -729 -MItem -28 -3dc\avp\support\consbind.cpp -730 -WString -6 -CPPOBJ -731 -WVList -0 -732 -WVList -0 -631 -1 -1 -0 -733 -MItem -28 -3dc\avp\support\consbtch.cpp -734 -WString -6 -CPPOBJ -735 -WVList -0 -736 -WVList -0 -631 -1 -1 -0 -737 -MItem -28 -3dc\avp\support\coordstr.cpp -738 -WString -6 -CPPOBJ -739 -WVList -0 -740 -WVList -0 -631 -1 -1 -0 -741 -MItem -26 -3dc\avp\support\daemon.cpp -742 -WString -6 -CPPOBJ -743 -WVList -0 -744 -WVList -0 -631 -1 -1 -0 -745 -MItem -28 -3dc\avp\support\indexfnt.cpp -746 -WString -6 -CPPOBJ -747 -WVList -0 -748 -WVList -0 -631 -1 -1 -0 -749 -MItem -26 -3dc\avp\support\r2base.cpp -750 -WString -6 -CPPOBJ -751 -WVList -0 -752 -WVList -0 -631 -1 -1 -0 -753 -MItem -28 -3dc\avp\support\r2pos666.cpp -754 -WString -6 -CPPOBJ -755 -WVList -0 -756 -WVList -0 -631 -1 -1 -0 -757 -MItem -27 -3dc\avp\support\reflist.cpp -758 -WString -6 -CPPOBJ -759 -WVList -0 -760 -WVList -0 -631 -1 -1 -0 -761 -MItem -26 -3dc\avp\support\refobj.cpp -762 -WString -6 -CPPOBJ -763 -WVList -0 -764 -WVList -0 -631 -1 -1 -0 -765 -MItem -28 -3dc\avp\support\rentrntq.cpp -766 -WString -6 -CPPOBJ -767 -WVList -0 -768 -WVList -0 -631 -1 -1 -0 -769 -MItem -28 -3dc\avp\support\scstring.cpp -770 -WString -6 -CPPOBJ -771 -WVList -0 -772 -WVList -0 -631 -1 -1 -0 -773 -MItem -26 -3dc\avp\support\strtab.cpp -774 -WString -6 -CPPOBJ -775 -WVList -0 -776 -WVList -0 -631 -1 -1 -0 -777 -MItem -28 -3dc\avp\support\tallfont.cpp -778 -WString -6 -CPPOBJ -779 -WVList -0 -780 -WVList -0 -631 -1 -1 -0 -781 -MItem -27 -3dc\avp\support\trig666.cpp -782 -WString -6 -CPPOBJ -783 -WVList -0 -784 -WVList -0 -631 -1 -1 -0 -785 -MItem -27 -3dc\avp\support\wrapstr.cpp -786 -WString -6 -CPPOBJ -787 -WVList -0 -788 -WVList -0 -631 -1 -1 -0 -789 -MItem -26 -3dc\avp\win95\avpchunk.cpp -790 -WString -6 -CPPOBJ -791 -WVList -0 -792 -WVList -0 -631 -1 -1 -0 -793 -MItem -24 -3dc\avp\win95\avpreg.cpp -794 -WString -6 -CPPOBJ -795 -WVList -0 -796 -WVList -0 -631 -1 -1 -0 -797 -MItem -26 -3dc\avp\win95\chtcodes.cpp -798 -WString -6 -CPPOBJ -799 -WVList -0 -800 -WVList -0 -631 -1 -1 -0 -801 -MItem -25 -3dc\avp\win95\d3d_hud.cpp -802 -WString -6 -CPPOBJ -803 -WVList -0 -804 -WVList -0 -631 -1 -1 -0 -805 -MItem -28 -3dc\avp\win95\d3d_render.cpp -806 -WString -6 -CPPOBJ -807 -WVList -0 -808 -WVList -0 -631 -1 -1 -0 -809 -MItem -24 -3dc\avp\win95\ddplat.cpp -810 -WString -6 -CPPOBJ -811 -WVList -0 -812 -WVList -0 -631 -1 -1 -0 -813 -MItem -25 -3dc\avp\win95\dx_proj.cpp -814 -WString -6 -CPPOBJ -815 -WVList -0 -816 -WVList -0 -631 -1 -1 -0 -817 -MItem -24 -3dc\avp\win95\ffread.cpp -818 -WString -6 -CPPOBJ -819 -WVList -0 -820 -WVList -0 -631 -1 -1 -0 -821 -MItem -25 -3dc\avp\win95\ffstdio.cpp -822 -WString -6 -CPPOBJ -823 -WVList -0 -824 -WVList -0 -631 -1 -1 -0 -825 -MItem -36 -3dc\avp\win95\frontend\avp_intro.cpp -826 -WString -6 -CPPOBJ -827 -WVList -0 -828 -WVList -0 -631 -1 -1 -0 -829 -MItem -38 -3dc\avp\win95\frontend\avp_menugfx.cpp -830 -WString -6 -CPPOBJ -831 -WVList -0 -832 -WVList -0 -631 -1 -1 -0 -833 -MItem -40 -3dc\avp\win95\frontend\avp_mp_config.cpp -834 -WString -6 -CPPOBJ -835 -WVList -0 -836 -WVList -0 -631 -1 -1 -0 -837 -MItem -42 -3dc\avp\win95\frontend\avp_userprofile.cpp -838 -WString -6 -CPPOBJ -839 -WVList -0 -840 -WVList -0 -631 -1 -1 -0 -841 -MItem -34 -3dc\avp\win95\gadgets\ahudgadg.cpp -842 -WString -6 -CPPOBJ -843 -WVList -0 -844 -WVList -0 -631 -1 -1 -0 -845 -MItem -34 -3dc\avp\win95\gadgets\conscmnd.cpp -846 -WString -6 -CPPOBJ -847 -WVList -0 -848 -WVList -0 -631 -1 -1 -0 -849 -MItem -33 -3dc\avp\win95\gadgets\conssym.cpp -850 -WString -6 -CPPOBJ -851 -WVList -0 -852 -WVList -0 -631 -1 -1 -0 -853 -MItem -33 -3dc\avp\win95\gadgets\consvar.cpp -854 -WString -6 -CPPOBJ -855 -WVList -0 -856 -WVList -0 -631 -1 -1 -0 -857 -MItem -32 -3dc\avp\win95\gadgets\gadget.cpp -858 -WString -6 -CPPOBJ -859 -WVList -0 -860 -WVList -0 -631 -1 -1 -0 -861 -MItem -33 -3dc\avp\win95\gadgets\hudgadg.cpp -862 -WString -6 -CPPOBJ -863 -WVList -0 -864 -WVList -0 -631 -1 -1 -0 -865 -MItem -34 -3dc\avp\win95\gadgets\rootgadg.cpp -866 -WString -6 -CPPOBJ -867 -WVList -0 -868 -WVList -0 -631 -1 -1 -0 -869 -MItem -34 -3dc\avp\win95\gadgets\t_ingadg.cpp -870 -WString -6 -CPPOBJ -871 -WVList -0 -872 -WVList -0 -631 -1 -1 -0 -873 -MItem -34 -3dc\avp\win95\gadgets\teletype.cpp -874 -WString -6 -CPPOBJ -875 -WVList -0 -876 -WVList -0 -631 -1 -1 -0 -877 -MItem -33 -3dc\avp\win95\gadgets\textexp.cpp -878 -WString -6 -CPPOBJ -879 -WVList -0 -880 -WVList -0 -631 -1 -1 -0 -881 -MItem -32 -3dc\avp\win95\gadgets\textin.cpp -882 -WString -6 -CPPOBJ -883 -WVList -0 -884 -WVList -0 -631 -1 -1 -0 -885 -MItem -34 -3dc\avp\win95\gadgets\trepgadg.cpp -886 -WString -6 -CPPOBJ -887 -WVList -0 -888 -WVList -0 -631 -1 -1 -0 -889 -MItem -30 -3dc\avp\win95\gammacontrol.cpp -890 -WString -6 -CPPOBJ -891 -WVList -0 -892 -WVList -0 -631 -1 -1 -0 -893 -MItem -27 -3dc\avp\win95\hierplace.cpp -894 -WString -6 -CPPOBJ -895 -WVList -0 -896 -WVList -0 -631 -1 -1 -0 -897 -MItem -23 -3dc\avp\win95\intro.cpp -898 -WString -6 -CPPOBJ -899 -WVList -0 -900 -WVList -0 -631 -1 -1 -0 -901 -MItem -25 -3dc\avp\win95\iofocus.cpp -902 -WString -6 -CPPOBJ -903 -WVList -0 -904 -WVList -0 -631 -1 -1 -0 -905 -MItem -25 -3dc\avp\win95\jsndsup.cpp -906 -WString -6 -CPPOBJ -907 -WVList -0 -908 -WVList -0 -631 -1 -1 -0 -909 -MItem -25 -3dc\avp\win95\modcmds.cpp -910 -WString -6 -CPPOBJ -911 -WVList -0 -912 -WVList -0 -631 -1 -1 -0 -913 -MItem -32 -3dc\avp\win95\mousecentreing.cpp -914 -WString -6 -CPPOBJ -915 -WVList -0 -916 -WVList -0 -631 -1 -1 -0 -917 -MItem -26 -3dc\avp\win95\npcsetup.cpp -918 -WString -6 -CPPOBJ -919 -WVList -0 -920 -WVList -0 -631 -1 -1 -0 -921 -MItem -26 -3dc\avp\win95\objsetup.cpp -922 -WString -6 -CPPOBJ -923 -WVList -0 -924 -WVList -0 -631 -1 -1 -0 -925 -MItem -26 -3dc\avp\win95\pathchnk.cpp -926 -WString -6 -CPPOBJ -927 -WVList -0 -928 -WVList -0 -631 -1 -1 -0 -929 -MItem -25 -3dc\avp\win95\pcmenus.cpp -930 -WString -6 -CPPOBJ -931 -WVList -0 -932 -WVList -0 -631 -1 -1 -0 -933 -MItem -30 -3dc\avp\win95\progress_bar.cpp -934 -WString -6 -CPPOBJ -935 -WVList -0 -936 -WVList -0 -631 -1 -1 -0 -937 -MItem -26 -3dc\avp\win95\projload.cpp -938 -WString -6 -CPPOBJ -939 -WVList -0 -940 -WVList -0 -631 -1 -1 -0 -941 -MItem -25 -3dc\avp\win95\scrshot.cpp -942 -WString -6 -CPPOBJ -943 -WVList -0 -944 -WVList -0 -631 -1 -1 -0 -945 -MItem -26 -3dc\avp\win95\strachnk.cpp -946 -WString -6 -CPPOBJ -947 -WVList -0 -948 -WVList -0 -631 -1 -1 -0 -949 -MItem -26 -3dc\avp\win95\win_proj.cpp -950 -WString -6 -CPPOBJ -951 -WVList -0 -952 -WVList -0 -631 -1 -1 -0 -953 -MItem -16 -3dc\mem3dcpp.cpp -954 -WString -6 -CPPOBJ -955 -WVList -0 -956 -WVList -0 -631 -1 -1 -0 -957 -MItem -21 -3dc\win95\alt_tab.cpp -958 -WString -6 -CPPOBJ -959 -WVList -0 -960 -WVList -0 -631 -1 -1 -0 -961 -MItem -22 -3dc\win95\animchnk.cpp -962 -WString -6 -CPPOBJ -963 -WVList -0 -964 -WVList -0 -631 -1 -1 -0 -965 -MItem -21 -3dc\win95\animobs.cpp -966 -WString -6 -CPPOBJ -967 -WVList -0 -968 -WVList -0 -631 -1 -1 -0 -969 -MItem -21 -3dc\win95\awbmpld.cpp -970 -WString -6 -CPPOBJ -971 -WVList -0 -972 -WVList -0 -631 -1 -1 -0 -973 -MItem -21 -3dc\win95\awiffld.cpp -974 -WString -6 -CPPOBJ -975 -WVList -0 -976 -WVList -0 -631 -1 -1 -0 -977 -MItem -21 -3dc\win95\awpnmld.cpp -978 -WString -6 -CPPOBJ -979 -WVList -0 -980 -WVList -0 -631 -1 -1 -0 -981 -MItem -21 -3dc\win95\awtexld.cpp -982 -WString -6 -CPPOBJ -983 -WVList -0 -984 -WVList -0 -631 -1 -1 -0 -985 -MItem -22 -3dc\win95\bmpnames.cpp -986 -WString -6 -CPPOBJ -987 -WVList -0 -988 -WVList -0 -631 -1 -1 -0 -989 -MItem -22 -3dc\win95\chnkload.cpp -990 -WString -6 -CPPOBJ -991 -WVList -0 -992 -WVList -0 -631 -1 -1 -0 -993 -MItem -22 -3dc\win95\chnktexi.cpp -994 -WString -6 -CPPOBJ -995 -WVList -0 -996 -WVList -0 -631 -1 -1 -0 -997 -MItem -22 -3dc\win95\chnktype.cpp -998 -WString -6 -CPPOBJ -999 -WVList -0 -1000 -WVList -0 -631 -1 -1 -0 -1001 -MItem -19 -3dc\win95\chunk.cpp -1002 -WString -6 -CPPOBJ -1003 -WVList -0 -1004 -WVList -0 -631 -1 -1 -0 -1005 -MItem -22 -3dc\win95\chunkpal.cpp -1006 -WString -6 -CPPOBJ -1007 -WVList -0 -1008 -WVList -0 -631 -1 -1 -0 -1009 -MItem -21 -3dc\win95\d3_func.cpp -1010 -WString -6 -CPPOBJ -1011 -WVList -0 -1012 -WVList -0 -631 -1 -1 -0 -1013 -MItem -21 -3dc\win95\dd_func.cpp -1014 -WString -6 -CPPOBJ -1015 -WVList -0 -1016 -WVList -0 -631 -1 -1 -0 -1017 -MItem -22 -3dc\win95\debuglog.cpp -1018 -WString -6 -CPPOBJ -1019 -WVList -0 -1020 -WVList -0 -631 -1 -1 -0 -1021 -MItem -21 -3dc\win95\di_func.cpp -1022 -WString -6 -CPPOBJ -1023 -WVList -0 -1024 -WVList -0 -631 -1 -1 -0 -1025 -MItem -22 -3dc\win95\envchunk.cpp -1026 -WString -6 -CPPOBJ -1027 -WVList -0 -1028 -WVList -0 -631 -1 -1 -0 -1029 -MItem -22 -3dc\win95\fragchnk.cpp -1030 -WString -6 -CPPOBJ -1031 -WVList -0 -1032 -WVList -0 -631 -1 -1 -0 -1033 -MItem -22 -3dc\win95\gsprchnk.cpp -1034 -WString -6 -CPPOBJ -1035 -WVList -0 -1036 -WVList -0 -631 -1 -1 -0 -1037 -MItem -22 -3dc\win95\hierchnk.cpp -1038 -WString -6 -CPPOBJ -1039 -WVList -0 -1040 -WVList -0 -631 -1 -1 -0 -1041 -MItem -21 -3dc\win95\huffman.cpp -1042 -WString -6 -CPPOBJ -1043 -WVList -0 -1044 -WVList -0 -631 -1 -1 -0 -1045 -MItem -17 -3dc\win95\iff.cpp -1046 -WString -6 -CPPOBJ -1047 -WVList -0 -1048 -WVList -0 -631 -1 -1 -0 -1049 -MItem -22 -3dc\win95\iff_ilbm.cpp -1050 -WString -6 -CPPOBJ -1051 -WVList -0 -1052 -WVList -0 -631 -1 -1 -0 -1053 -MItem -22 -3dc\win95\list_tem.cpp -1054 -WString -6 -CPPOBJ -1055 -WVList -0 -1056 -WVList -0 -631 -1 -1 -0 -1057 -MItem -21 -3dc\win95\ltchunk.cpp -1058 -WString -6 -CPPOBJ -1059 -WVList -0 -1060 -WVList -0 -631 -1 -1 -0 -1061 -MItem -19 -3dc\win95\media.cpp -1062 -WString -6 -CPPOBJ -1063 -WVList -0 -1064 -WVList -0 -631 -1 -1 -0 -1065 -MItem -22 -3dc\win95\mishchnk.cpp -1066 -WString -6 -CPPOBJ -1067 -WVList -0 -1068 -WVList -0 -631 -1 -1 -0 -1069 -MItem -21 -3dc\win95\obchunk.cpp -1070 -WString -6 -CPPOBJ -1071 -WVList -0 -1072 -WVList -0 -631 -1 -1 -0 -1073 -MItem -22 -3dc\win95\shpchunk.cpp -1074 -WString -6 -CPPOBJ -1075 -WVList -0 -1076 -WVList -0 -631 -1 -1 -0 -1077 -MItem -22 -3dc\win95\sndchunk.cpp -1078 -WString -6 -CPPOBJ -1079 -WVList -0 -1080 -WVList -0 -631 -1 -1 -0 -1081 -MItem -22 -3dc\win95\sprchunk.cpp -1082 -WString -6 -CPPOBJ -1083 -WVList -0 -1084 -WVList -0 -631 -1 -1 -0 -1085 -MItem -22 -3dc\win95\txioctrl.cpp -1086 -WString -6 -CPPOBJ -1087 -WVList -0 -1088 -WVList -0 -631 -1 -1 -0 -1089 -MItem -24 -3dc\win95\videomodes.cpp -1090 -WString -6 -CPPOBJ -1091 -WVList -0 -1092 -WVList -0 -631 -1 -1 -0 -1093 -MItem -22 -3dc\win95\win_func.cpp -1094 -WString -6 -CPPOBJ -1095 -WVList -0 -1096 -WVList -0 -631 -1 -1 -0 -1097 -MItem -21 -3dc\win95\wpchunk.cpp -1098 -WString -6 -CPPOBJ -1099 -WVList -0 -1100 -WVList -0 -631 -1 -1 -0 diff --git a/3dc/CD Tracks.txt b/cd tracks.txt similarity index 100% rename from 3dc/CD Tracks.txt rename to cd tracks.txt diff --git a/3dc/default.cfg b/default.cfg.bin similarity index 100% rename from 3dc/default.cfg rename to default.cfg.bin diff --git a/3dc/ENGLISH.TXT b/english.txt similarity index 100% rename from 3dc/ENGLISH.TXT rename to english.txt diff --git a/3dc/fontbr.pgm b/fontbr.pgm similarity index 100% rename from 3dc/fontbr.pgm rename to fontbr.pgm diff --git a/3dc/Language.txt b/language.dat similarity index 100% rename from 3dc/Language.txt rename to language.dat diff --git a/3dc/AFONT.C b/src/afont.c similarity index 100% rename from 3dc/AFONT.C rename to src/afont.c diff --git a/3dc/avp/AI_Sight.c b/src/avp/ai_sight.c similarity index 100% rename from 3dc/avp/AI_Sight.c rename to src/avp/ai_sight.c diff --git a/3dc/avp/AI_Sight.h b/src/avp/ai_sight.h similarity index 100% rename from 3dc/avp/AI_Sight.h rename to src/avp/ai_sight.h diff --git a/3dc/avp/avpitems.cpp b/src/avp/avpitems.cpp similarity index 100% rename from 3dc/avp/avpitems.cpp rename to src/avp/avpitems.cpp diff --git a/3dc/avp/avpitems.hpp b/src/avp/avpitems.hpp similarity index 100% rename from 3dc/avp/avpitems.hpp rename to src/avp/avpitems.hpp diff --git a/3dc/avp/avppages.cpp b/src/avp/avppages.cpp similarity index 100% rename from 3dc/avp/avppages.cpp rename to src/avp/avppages.cpp diff --git a/3dc/avp/avppages.hpp b/src/avp/avppages.hpp similarity index 100% rename from 3dc/avp/avppages.hpp rename to src/avp/avppages.hpp diff --git a/3dc/avp/Avpview.c b/src/avp/avpview.c similarity index 100% rename from 3dc/avp/Avpview.c rename to src/avp/avpview.c diff --git a/3dc/avp/AVPVIEW.H b/src/avp/avpview.h similarity index 100% rename from 3dc/avp/AVPVIEW.H rename to src/avp/avpview.h diff --git a/3dc/avp/bh_agun.c b/src/avp/bh_agun.c similarity index 100% rename from 3dc/avp/bh_agun.c rename to src/avp/bh_agun.c diff --git a/3dc/avp/bh_agun.h b/src/avp/bh_agun.h similarity index 100% rename from 3dc/avp/bh_agun.h rename to src/avp/bh_agun.h diff --git a/3dc/avp/bh_ais.c b/src/avp/bh_ais.c similarity index 100% rename from 3dc/avp/bh_ais.c rename to src/avp/bh_ais.c diff --git a/3dc/avp/bh_ais.h b/src/avp/bh_ais.h similarity index 100% rename from 3dc/avp/bh_ais.h rename to src/avp/bh_ais.h diff --git a/3dc/avp/BH_ALIEN.C b/src/avp/bh_alien.c similarity index 100% rename from 3dc/avp/BH_ALIEN.C rename to src/avp/bh_alien.c diff --git a/3dc/avp/BH_ALIEN.H b/src/avp/bh_alien.h similarity index 100% rename from 3dc/avp/BH_ALIEN.H rename to src/avp/bh_alien.h diff --git a/3dc/avp/BH_BINSW.C b/src/avp/bh_binsw.c similarity index 100% rename from 3dc/avp/BH_BINSW.C rename to src/avp/bh_binsw.c diff --git a/3dc/avp/BH_BINSW.H b/src/avp/bh_binsw.h similarity index 100% rename from 3dc/avp/BH_BINSW.H rename to src/avp/bh_binsw.h diff --git a/3dc/avp/bh_cable.c b/src/avp/bh_cable.c similarity index 100% rename from 3dc/avp/bh_cable.c rename to src/avp/bh_cable.c diff --git a/3dc/avp/bh_cable.h b/src/avp/bh_cable.h similarity index 100% rename from 3dc/avp/bh_cable.h rename to src/avp/bh_cable.h diff --git a/3dc/avp/bh_corpse.c b/src/avp/bh_corpse.c similarity index 100% rename from 3dc/avp/bh_corpse.c rename to src/avp/bh_corpse.c diff --git a/3dc/avp/bh_corpse.h b/src/avp/bh_corpse.h similarity index 100% rename from 3dc/avp/bh_corpse.h rename to src/avp/bh_corpse.h diff --git a/3dc/avp/bh_deathvol.c b/src/avp/bh_deathvol.c similarity index 100% rename from 3dc/avp/bh_deathvol.c rename to src/avp/bh_deathvol.c diff --git a/3dc/avp/bh_deathvol.h b/src/avp/bh_deathvol.h similarity index 100% rename from 3dc/avp/bh_deathvol.h rename to src/avp/bh_deathvol.h diff --git a/3dc/avp/Bh_debri.c b/src/avp/bh_debri.c similarity index 100% rename from 3dc/avp/Bh_debri.c rename to src/avp/bh_debri.c diff --git a/3dc/avp/bh_debri.h b/src/avp/bh_debri.h similarity index 100% rename from 3dc/avp/bh_debri.h rename to src/avp/bh_debri.h diff --git a/3dc/avp/bh_dummy.c b/src/avp/bh_dummy.c similarity index 100% rename from 3dc/avp/bh_dummy.c rename to src/avp/bh_dummy.c diff --git a/3dc/avp/bh_dummy.h b/src/avp/bh_dummy.h similarity index 100% rename from 3dc/avp/bh_dummy.h rename to src/avp/bh_dummy.h diff --git a/3dc/avp/bh_fan.c b/src/avp/bh_fan.c similarity index 100% rename from 3dc/avp/bh_fan.c rename to src/avp/bh_fan.c diff --git a/3dc/avp/bh_fan.h b/src/avp/bh_fan.h similarity index 100% rename from 3dc/avp/bh_fan.h rename to src/avp/bh_fan.h diff --git a/3dc/avp/bh_far.c b/src/avp/bh_far.c similarity index 100% rename from 3dc/avp/bh_far.c rename to src/avp/bh_far.c diff --git a/3dc/avp/BH_FAR.H b/src/avp/bh_far.h similarity index 100% rename from 3dc/avp/BH_FAR.H rename to src/avp/bh_far.h diff --git a/3dc/avp/BH_FHUG.C b/src/avp/bh_fhug.c similarity index 100% rename from 3dc/avp/BH_FHUG.C rename to src/avp/bh_fhug.c diff --git a/3dc/avp/BH_FHUG.H b/src/avp/bh_fhug.h similarity index 100% rename from 3dc/avp/BH_FHUG.H rename to src/avp/bh_fhug.h diff --git a/3dc/avp/BH_GENER.C b/src/avp/bh_gener.c similarity index 100% rename from 3dc/avp/BH_GENER.C rename to src/avp/bh_gener.c diff --git a/3dc/avp/BH_GENER.H b/src/avp/bh_gener.h similarity index 100% rename from 3dc/avp/BH_GENER.H rename to src/avp/bh_gener.h diff --git a/3dc/avp/bh_ldoor.c b/src/avp/bh_ldoor.c similarity index 100% rename from 3dc/avp/bh_ldoor.c rename to src/avp/bh_ldoor.c diff --git a/3dc/avp/bh_ldoor.h b/src/avp/bh_ldoor.h similarity index 100% rename from 3dc/avp/bh_ldoor.h rename to src/avp/bh_ldoor.h diff --git a/3dc/avp/bh_lift.c b/src/avp/bh_lift.c similarity index 100% rename from 3dc/avp/bh_lift.c rename to src/avp/bh_lift.c diff --git a/3dc/avp/bh_lift.h b/src/avp/bh_lift.h similarity index 100% rename from 3dc/avp/bh_lift.h rename to src/avp/bh_lift.h diff --git a/3dc/avp/bh_light.c b/src/avp/bh_light.c similarity index 100% rename from 3dc/avp/bh_light.c rename to src/avp/bh_light.c diff --git a/3dc/avp/bh_light.h b/src/avp/bh_light.h similarity index 100% rename from 3dc/avp/bh_light.h rename to src/avp/bh_light.h diff --git a/3dc/avp/BH_LNKSW.C b/src/avp/bh_lnksw.c similarity index 100% rename from 3dc/avp/BH_LNKSW.C rename to src/avp/bh_lnksw.c diff --git a/3dc/avp/BH_LNKSW.H b/src/avp/bh_lnksw.h similarity index 100% rename from 3dc/avp/BH_LNKSW.H rename to src/avp/bh_lnksw.h diff --git a/3dc/avp/bh_ltfx.c b/src/avp/bh_ltfx.c similarity index 100% rename from 3dc/avp/bh_ltfx.c rename to src/avp/bh_ltfx.c diff --git a/3dc/avp/bh_ltfx.h b/src/avp/bh_ltfx.h similarity index 100% rename from 3dc/avp/bh_ltfx.h rename to src/avp/bh_ltfx.h diff --git a/3dc/avp/Bh_marin.c b/src/avp/bh_marin.c similarity index 100% rename from 3dc/avp/Bh_marin.c rename to src/avp/bh_marin.c diff --git a/3dc/avp/BH_MARIN.H b/src/avp/bh_marin.h similarity index 100% rename from 3dc/avp/BH_MARIN.H rename to src/avp/bh_marin.h diff --git a/3dc/avp/bh_mission.c b/src/avp/bh_mission.c similarity index 100% rename from 3dc/avp/bh_mission.c rename to src/avp/bh_mission.c diff --git a/3dc/avp/bh_mission.h b/src/avp/bh_mission.h similarity index 100% rename from 3dc/avp/bh_mission.h rename to src/avp/bh_mission.h diff --git a/3dc/avp/Bh_near.c b/src/avp/bh_near.c similarity index 100% rename from 3dc/avp/Bh_near.c rename to src/avp/bh_near.c diff --git a/3dc/avp/BH_NEAR.H b/src/avp/bh_near.h similarity index 100% rename from 3dc/avp/BH_NEAR.H rename to src/avp/bh_near.h diff --git a/3dc/avp/BH_PAQ.C b/src/avp/bh_paq.c similarity index 100% rename from 3dc/avp/BH_PAQ.C rename to src/avp/bh_paq.c diff --git a/3dc/avp/BH_PAQ.H b/src/avp/bh_paq.h similarity index 100% rename from 3dc/avp/BH_PAQ.H rename to src/avp/bh_paq.h diff --git a/3dc/avp/bh_pargen.c b/src/avp/bh_pargen.c similarity index 100% rename from 3dc/avp/bh_pargen.c rename to src/avp/bh_pargen.c diff --git a/3dc/avp/bh_pargen.h b/src/avp/bh_pargen.h similarity index 100% rename from 3dc/avp/bh_pargen.h rename to src/avp/bh_pargen.h diff --git a/3dc/avp/bh_plachier.c b/src/avp/bh_plachier.c similarity index 100% rename from 3dc/avp/bh_plachier.c rename to src/avp/bh_plachier.c diff --git a/3dc/avp/bh_plachier.h b/src/avp/bh_plachier.h similarity index 100% rename from 3dc/avp/bh_plachier.h rename to src/avp/bh_plachier.h diff --git a/3dc/avp/bh_plift.c b/src/avp/bh_plift.c similarity index 100% rename from 3dc/avp/bh_plift.c rename to src/avp/bh_plift.c diff --git a/3dc/avp/bh_plift.h b/src/avp/bh_plift.h similarity index 100% rename from 3dc/avp/bh_plift.h rename to src/avp/bh_plift.h diff --git a/3dc/avp/Bh_pred.c b/src/avp/bh_pred.c similarity index 100% rename from 3dc/avp/Bh_pred.c rename to src/avp/bh_pred.c diff --git a/3dc/avp/BH_PRED.H b/src/avp/bh_pred.h similarity index 100% rename from 3dc/avp/BH_PRED.H rename to src/avp/bh_pred.h diff --git a/3dc/avp/bh_queen.c b/src/avp/bh_queen.c similarity index 100% rename from 3dc/avp/bh_queen.c rename to src/avp/bh_queen.c diff --git a/3dc/avp/bh_queen.h b/src/avp/bh_queen.h similarity index 100% rename from 3dc/avp/bh_queen.h rename to src/avp/bh_queen.h diff --git a/3dc/avp/bh_RubberDuck.c b/src/avp/bh_rubberduck.c similarity index 100% rename from 3dc/avp/bh_RubberDuck.c rename to src/avp/bh_rubberduck.c diff --git a/3dc/avp/bh_RubberDuck.h b/src/avp/bh_rubberduck.h similarity index 100% rename from 3dc/avp/bh_RubberDuck.h rename to src/avp/bh_rubberduck.h diff --git a/3dc/avp/bh_selfdest.c b/src/avp/bh_selfdest.c similarity index 100% rename from 3dc/avp/bh_selfdest.c rename to src/avp/bh_selfdest.c diff --git a/3dc/avp/bh_selfdest.h b/src/avp/bh_selfdest.h similarity index 100% rename from 3dc/avp/bh_selfdest.h rename to src/avp/bh_selfdest.h diff --git a/3dc/avp/bh_snds.c b/src/avp/bh_snds.c similarity index 100% rename from 3dc/avp/bh_snds.c rename to src/avp/bh_snds.c diff --git a/3dc/avp/bh_snds.h b/src/avp/bh_snds.h similarity index 100% rename from 3dc/avp/bh_snds.h rename to src/avp/bh_snds.h diff --git a/3dc/avp/bh_spcl.c b/src/avp/bh_spcl.c similarity index 100% rename from 3dc/avp/bh_spcl.c rename to src/avp/bh_spcl.c diff --git a/3dc/avp/bh_spcl.h b/src/avp/bh_spcl.h similarity index 100% rename from 3dc/avp/bh_spcl.h rename to src/avp/bh_spcl.h diff --git a/3dc/avp/BH_SWDOR.C b/src/avp/bh_swdor.c similarity index 100% rename from 3dc/avp/BH_SWDOR.C rename to src/avp/bh_swdor.c diff --git a/3dc/avp/BH_SWDOR.H b/src/avp/bh_swdor.h similarity index 100% rename from 3dc/avp/BH_SWDOR.H rename to src/avp/bh_swdor.h diff --git a/3dc/avp/bh_track.c b/src/avp/bh_track.c similarity index 100% rename from 3dc/avp/bh_track.c rename to src/avp/bh_track.c diff --git a/3dc/avp/bh_track.h b/src/avp/bh_track.h similarity index 100% rename from 3dc/avp/bh_track.h rename to src/avp/bh_track.h diff --git a/3dc/avp/BH_TYPES.C b/src/avp/bh_types.c similarity index 100% rename from 3dc/avp/BH_TYPES.C rename to src/avp/bh_types.c diff --git a/3dc/avp/BH_TYPES.H b/src/avp/bh_types.h similarity index 100% rename from 3dc/avp/BH_TYPES.H rename to src/avp/bh_types.h diff --git a/3dc/avp/bh_videoscreen.c b/src/avp/bh_videoscreen.c similarity index 100% rename from 3dc/avp/bh_videoscreen.c rename to src/avp/bh_videoscreen.c diff --git a/3dc/avp/bh_videoscreen.h b/src/avp/bh_videoscreen.h similarity index 100% rename from 3dc/avp/bh_videoscreen.h rename to src/avp/bh_videoscreen.h diff --git a/3dc/avp/bh_waypt.c b/src/avp/bh_waypt.c similarity index 100% rename from 3dc/avp/bh_waypt.c rename to src/avp/bh_waypt.c diff --git a/3dc/avp/bh_waypt.h b/src/avp/bh_waypt.h similarity index 100% rename from 3dc/avp/bh_waypt.h rename to src/avp/bh_waypt.h diff --git a/3dc/avp/bh_weap.c b/src/avp/bh_weap.c similarity index 100% rename from 3dc/avp/bh_weap.c rename to src/avp/bh_weap.c diff --git a/3dc/avp/bh_weap.h b/src/avp/bh_weap.h similarity index 100% rename from 3dc/avp/bh_weap.h rename to src/avp/bh_weap.h diff --git a/3dc/avp/Bh_xeno.c b/src/avp/bh_xeno.c similarity index 100% rename from 3dc/avp/Bh_xeno.c rename to src/avp/bh_xeno.c diff --git a/3dc/avp/BH_XENO.H b/src/avp/bh_xeno.h similarity index 100% rename from 3dc/avp/BH_XENO.H rename to src/avp/bh_xeno.h diff --git a/3dc/avp/BonusAbilities.c b/src/avp/bonusabilities.c similarity index 100% rename from 3dc/avp/BonusAbilities.c rename to src/avp/bonusabilities.c diff --git a/3dc/avp/BonusAbilities.h b/src/avp/bonusabilities.h similarity index 100% rename from 3dc/avp/BonusAbilities.h rename to src/avp/bonusabilities.h diff --git a/3dc/avp/cconvars.cpp b/src/avp/cconvars.cpp similarity index 100% rename from 3dc/avp/cconvars.cpp rename to src/avp/cconvars.cpp diff --git a/3dc/avp/CDTrackSelection.cpp b/src/avp/cdtrackselection.cpp similarity index 100% rename from 3dc/avp/CDTrackSelection.cpp rename to src/avp/cdtrackselection.cpp diff --git a/3dc/avp/CDTrackSelection.h b/src/avp/cdtrackselection.h similarity index 100% rename from 3dc/avp/CDTrackSelection.h rename to src/avp/cdtrackselection.h diff --git a/3dc/avp/CheatModes.c b/src/avp/cheatmodes.c similarity index 100% rename from 3dc/avp/CheatModes.c rename to src/avp/cheatmodes.c diff --git a/3dc/avp/comp_map.c b/src/avp/comp_map.c similarity index 100% rename from 3dc/avp/comp_map.c rename to src/avp/comp_map.c diff --git a/3dc/avp/COMP_SHP.C b/src/avp/comp_shp.c similarity index 100% rename from 3dc/avp/COMP_SHP.C rename to src/avp/comp_shp.c diff --git a/3dc/avp/COMP_SHP.H b/src/avp/comp_shp.h similarity index 100% rename from 3dc/avp/COMP_SHP.H rename to src/avp/comp_shp.h diff --git a/3dc/avp/ConsoleLog.cpp b/src/avp/consolelog.cpp similarity index 100% rename from 3dc/avp/ConsoleLog.cpp rename to src/avp/consolelog.cpp diff --git a/3dc/avp/ConsoleLog.hpp b/src/avp/consolelog.hpp similarity index 100% rename from 3dc/avp/ConsoleLog.hpp rename to src/avp/consolelog.hpp diff --git a/3dc/avp/DATABASE.C b/src/avp/database.c similarity index 100% rename from 3dc/avp/DATABASE.C rename to src/avp/database.c diff --git a/3dc/avp/DATABASE.H b/src/avp/database.h similarity index 100% rename from 3dc/avp/DATABASE.H rename to src/avp/database.h diff --git a/3dc/avp/davehook.cpp b/src/avp/davehook.cpp similarity index 100% rename from 3dc/avp/davehook.cpp rename to src/avp/davehook.cpp diff --git a/3dc/avp/davehook.h b/src/avp/davehook.h similarity index 100% rename from 3dc/avp/davehook.h rename to src/avp/davehook.h diff --git a/3dc/avp/deaths.c b/src/avp/deaths.c similarity index 100% rename from 3dc/avp/deaths.c rename to src/avp/deaths.c diff --git a/3dc/avp/decal.c b/src/avp/decal.c similarity index 100% rename from 3dc/avp/decal.c rename to src/avp/decal.c diff --git a/3dc/avp/decal.h b/src/avp/decal.h similarity index 100% rename from 3dc/avp/decal.h rename to src/avp/decal.h diff --git a/3dc/avp/DetailLevels.c b/src/avp/detaillevels.c similarity index 100% rename from 3dc/avp/DetailLevels.c rename to src/avp/detaillevels.c diff --git a/3dc/avp/DetailLevels.h b/src/avp/detaillevels.h similarity index 100% rename from 3dc/avp/DetailLevels.h rename to src/avp/detaillevels.h diff --git a/3dc/avp/Dynamics.c b/src/avp/dynamics.c similarity index 100% rename from 3dc/avp/Dynamics.c rename to src/avp/dynamics.c diff --git a/3dc/avp/DYNAMICS.H b/src/avp/dynamics.h similarity index 100% rename from 3dc/avp/DYNAMICS.H rename to src/avp/dynamics.h diff --git a/3dc/avp/DYNBLOCK.C b/src/avp/dynblock.c similarity index 100% rename from 3dc/avp/DYNBLOCK.C rename to src/avp/dynblock.c diff --git a/3dc/avp/DYNBLOCK.H b/src/avp/dynblock.h similarity index 100% rename from 3dc/avp/DYNBLOCK.H rename to src/avp/dynblock.h diff --git a/3dc/avp/EQUATES.H b/src/avp/equates.h similarity index 100% rename from 3dc/avp/EQUATES.H rename to src/avp/equates.h diff --git a/3dc/avp/EQUIPMNT.C b/src/avp/equipmnt.c similarity index 100% rename from 3dc/avp/EQUIPMNT.C rename to src/avp/equipmnt.c diff --git a/3dc/avp/EQUIPMNT.H b/src/avp/equipmnt.h similarity index 100% rename from 3dc/avp/EQUIPMNT.H rename to src/avp/equipmnt.h diff --git a/3dc/avp/equiputl.cpp b/src/avp/equiputl.cpp similarity index 100% rename from 3dc/avp/equiputl.cpp rename to src/avp/equiputl.cpp diff --git a/3dc/avp/equiputl.hpp b/src/avp/equiputl.hpp similarity index 100% rename from 3dc/avp/equiputl.hpp rename to src/avp/equiputl.hpp diff --git a/3dc/avp/extents.c b/src/avp/extents.c similarity index 100% rename from 3dc/avp/extents.c rename to src/avp/extents.c diff --git a/3dc/avp/extents.h b/src/avp/extents.h similarity index 100% rename from 3dc/avp/extents.h rename to src/avp/extents.h diff --git a/3dc/avp/Game.c b/src/avp/game.c similarity index 100% rename from 3dc/avp/Game.c rename to src/avp/game.c diff --git a/3dc/avp/game_statistics.c b/src/avp/game_statistics.c similarity index 100% rename from 3dc/avp/game_statistics.c rename to src/avp/game_statistics.c diff --git a/3dc/avp/game_statistics.h b/src/avp/game_statistics.h similarity index 100% rename from 3dc/avp/game_statistics.h rename to src/avp/game_statistics.h diff --git a/3dc/avp/gamecmds.cpp b/src/avp/gamecmds.cpp similarity index 100% rename from 3dc/avp/gamecmds.cpp rename to src/avp/gamecmds.cpp diff --git a/3dc/avp/GAMEDEF.H b/src/avp/gamedef.h similarity index 100% rename from 3dc/avp/GAMEDEF.H rename to src/avp/gamedef.h diff --git a/3dc/avp/gameflow.c b/src/avp/gameflow.c similarity index 100% rename from 3dc/avp/gameflow.c rename to src/avp/gameflow.c diff --git a/3dc/avp/gameflow.h b/src/avp/gameflow.h similarity index 100% rename from 3dc/avp/gameflow.h rename to src/avp/gameflow.h diff --git a/3dc/avp/gamevars.cpp b/src/avp/gamevars.cpp similarity index 100% rename from 3dc/avp/gamevars.cpp rename to src/avp/gamevars.cpp diff --git a/3dc/avp/HModel.c b/src/avp/hmodel.c similarity index 100% rename from 3dc/avp/HModel.c rename to src/avp/hmodel.c diff --git a/3dc/avp/hmodel.h b/src/avp/hmodel.h similarity index 100% rename from 3dc/avp/hmodel.h rename to src/avp/hmodel.h diff --git a/3dc/avp/Hud.c b/src/avp/hud.c similarity index 100% rename from 3dc/avp/Hud.c rename to src/avp/hud.c diff --git a/3dc/avp/HUD_MAP.C b/src/avp/hud_map.c similarity index 100% rename from 3dc/avp/HUD_MAP.C rename to src/avp/hud_map.c diff --git a/3dc/avp/HUD_MAP.H b/src/avp/hud_map.h similarity index 100% rename from 3dc/avp/HUD_MAP.H rename to src/avp/hud_map.h diff --git a/3dc/avp/HUDDEFS.H b/src/avp/huddefs.h similarity index 100% rename from 3dc/avp/HUDDEFS.H rename to src/avp/huddefs.h diff --git a/3dc/avp/Inventry.c b/src/avp/inventry.c similarity index 100% rename from 3dc/avp/Inventry.c rename to src/avp/inventry.c diff --git a/3dc/avp/INVENTRY.H b/src/avp/inventry.h similarity index 100% rename from 3dc/avp/INVENTRY.H rename to src/avp/inventry.h diff --git a/3dc/avp/langenum.h b/src/avp/langenum.h similarity index 100% rename from 3dc/avp/langenum.h rename to src/avp/langenum.h diff --git a/3dc/avp/LANGUAGE.C b/src/avp/language.c similarity index 100% rename from 3dc/avp/LANGUAGE.C rename to src/avp/language.c diff --git a/3dc/avp/LANGUAGE.H b/src/avp/language.h similarity index 100% rename from 3dc/avp/LANGUAGE.H rename to src/avp/language.h diff --git a/3dc/avp/LIGHTING.C b/src/avp/lighting.c similarity index 100% rename from 3dc/avp/LIGHTING.C rename to src/avp/lighting.c diff --git a/3dc/avp/LIGHTING.H b/src/avp/lighting.h similarity index 100% rename from 3dc/avp/LIGHTING.H rename to src/avp/lighting.h diff --git a/3dc/avp/load_shp.c b/src/avp/load_shp.c similarity index 100% rename from 3dc/avp/load_shp.c rename to src/avp/load_shp.c diff --git a/3dc/avp/load_shp.h b/src/avp/load_shp.h similarity index 100% rename from 3dc/avp/load_shp.h rename to src/avp/load_shp.h diff --git a/3dc/avp/los.c b/src/avp/los.c similarity index 100% rename from 3dc/avp/los.c rename to src/avp/los.c diff --git a/3dc/avp/los.h b/src/avp/los.h similarity index 100% rename from 3dc/avp/los.h rename to src/avp/los.h diff --git a/3dc/avp/ltfx_exp.h b/src/avp/ltfx_exp.h similarity index 100% rename from 3dc/avp/ltfx_exp.h rename to src/avp/ltfx_exp.h diff --git a/3dc/avp/MACRO.H b/src/avp/macro.h similarity index 100% rename from 3dc/avp/MACRO.H rename to src/avp/macro.h diff --git a/3dc/avp/MAPS.C b/src/avp/maps.c similarity index 100% rename from 3dc/avp/MAPS.C rename to src/avp/maps.c diff --git a/3dc/avp/mempool.c b/src/avp/mempool.c similarity index 100% rename from 3dc/avp/mempool.c rename to src/avp/mempool.c diff --git a/3dc/avp/mempool.h b/src/avp/mempool.h similarity index 100% rename from 3dc/avp/mempool.h rename to src/avp/mempool.h diff --git a/3dc/avp/menudefs.h b/src/avp/menudefs.h similarity index 100% rename from 3dc/avp/menudefs.h rename to src/avp/menudefs.h diff --git a/3dc/avp/menus.c b/src/avp/menus.c similarity index 100% rename from 3dc/avp/menus.c rename to src/avp/menus.c diff --git a/3dc/avp/MessageHistory.c b/src/avp/messagehistory.c similarity index 100% rename from 3dc/avp/MessageHistory.c rename to src/avp/messagehistory.c diff --git a/3dc/avp/missions.cpp b/src/avp/missions.cpp similarity index 100% rename from 3dc/avp/missions.cpp rename to src/avp/missions.cpp diff --git a/3dc/avp/missions.hpp b/src/avp/missions.hpp similarity index 100% rename from 3dc/avp/missions.hpp rename to src/avp/missions.hpp diff --git a/3dc/avp/movement.c b/src/avp/movement.c similarity index 100% rename from 3dc/avp/movement.c rename to src/avp/movement.c diff --git a/3dc/avp/mp_launch.c b/src/avp/mp_launch.c similarity index 100% rename from 3dc/avp/mp_launch.c rename to src/avp/mp_launch.c diff --git a/3dc/avp/Paintball.c b/src/avp/paintball.c similarity index 100% rename from 3dc/avp/Paintball.c rename to src/avp/paintball.c diff --git a/3dc/avp/Paintball.h b/src/avp/paintball.h similarity index 100% rename from 3dc/avp/Paintball.h rename to src/avp/paintball.h diff --git a/3dc/avp/particle.c b/src/avp/particle.c similarity index 100% rename from 3dc/avp/particle.c rename to src/avp/particle.c diff --git a/3dc/avp/particle.h b/src/avp/particle.h similarity index 100% rename from 3dc/avp/particle.h rename to src/avp/particle.h diff --git a/3dc/avp/PFARLOCS.C b/src/avp/pfarlocs.c similarity index 100% rename from 3dc/avp/PFARLOCS.C rename to src/avp/pfarlocs.c diff --git a/3dc/avp/PFARLOCS.H b/src/avp/pfarlocs.h similarity index 100% rename from 3dc/avp/PFARLOCS.H rename to src/avp/pfarlocs.h diff --git a/3dc/avp/PHEROMON.C b/src/avp/pheromon.c similarity index 100% rename from 3dc/avp/PHEROMON.C rename to src/avp/pheromon.c diff --git a/3dc/avp/PHEROMON.H b/src/avp/pheromon.h similarity index 100% rename from 3dc/avp/PHEROMON.H rename to src/avp/pheromon.h diff --git a/3dc/avp/Player.c b/src/avp/player.c similarity index 100% rename from 3dc/avp/Player.c rename to src/avp/player.c diff --git a/3dc/avp/Pmove.c b/src/avp/pmove.c similarity index 100% rename from 3dc/avp/Pmove.c rename to src/avp/pmove.c diff --git a/3dc/avp/PMOVE.H b/src/avp/pmove.h similarity index 100% rename from 3dc/avp/PMOVE.H rename to src/avp/pmove.h diff --git a/3dc/avp/projfont.h b/src/avp/projfont.h similarity index 100% rename from 3dc/avp/projfont.h rename to src/avp/projfont.h diff --git a/3dc/avp/projmenu.cpp b/src/avp/projmenu.cpp similarity index 100% rename from 3dc/avp/projmenu.cpp rename to src/avp/projmenu.cpp diff --git a/3dc/avp/projmenu.hpp b/src/avp/projmenu.hpp similarity index 100% rename from 3dc/avp/projmenu.hpp rename to src/avp/projmenu.hpp diff --git a/3dc/avp/projtext.h b/src/avp/projtext.h similarity index 100% rename from 3dc/avp/projtext.h rename to src/avp/projtext.h diff --git a/3dc/avp/Psnd.c b/src/avp/psnd.c similarity index 100% rename from 3dc/avp/Psnd.c rename to src/avp/psnd.c diff --git a/3dc/avp/PSND.H b/src/avp/psnd.h similarity index 100% rename from 3dc/avp/PSND.H rename to src/avp/psnd.h diff --git a/3dc/avp/PSNDPROJ.C b/src/avp/psndproj.c similarity index 100% rename from 3dc/avp/PSNDPROJ.C rename to src/avp/psndproj.c diff --git a/3dc/avp/PSNDPROJ.H b/src/avp/psndproj.h similarity index 100% rename from 3dc/avp/PSNDPROJ.H rename to src/avp/psndproj.h diff --git a/3dc/avp/PVISIBLE.C b/src/avp/pvisible.c similarity index 100% rename from 3dc/avp/PVISIBLE.C rename to src/avp/pvisible.c diff --git a/3dc/avp/PVISIBLE.H b/src/avp/pvisible.h similarity index 100% rename from 3dc/avp/PVISIBLE.H rename to src/avp/pvisible.h diff --git a/3dc/avp/savegame.c b/src/avp/savegame.c similarity index 100% rename from 3dc/avp/savegame.c rename to src/avp/savegame.c diff --git a/3dc/avp/savegame.h b/src/avp/savegame.h similarity index 100% rename from 3dc/avp/savegame.h rename to src/avp/savegame.h diff --git a/3dc/avp/scream.cpp b/src/avp/scream.cpp similarity index 100% rename from 3dc/avp/scream.cpp rename to src/avp/scream.cpp diff --git a/3dc/avp/scream.h b/src/avp/scream.h similarity index 100% rename from 3dc/avp/scream.h rename to src/avp/scream.h diff --git a/3dc/avp/SecStats.c b/src/avp/secstats.c similarity index 100% rename from 3dc/avp/SecStats.c rename to src/avp/secstats.c diff --git a/3dc/avp/sequnces.h b/src/avp/sequnces.h similarity index 100% rename from 3dc/avp/sequnces.h rename to src/avp/sequnces.h diff --git a/3dc/avp/sfx.c b/src/avp/sfx.c similarity index 100% rename from 3dc/avp/sfx.c rename to src/avp/sfx.c diff --git a/3dc/avp/sfx.h b/src/avp/sfx.h similarity index 100% rename from 3dc/avp/sfx.h rename to src/avp/sfx.h diff --git a/3dc/avp/shapes/CUBE.C b/src/avp/shapes/cube.c similarity index 100% rename from 3dc/avp/shapes/CUBE.C rename to src/avp/shapes/cube.c diff --git a/3dc/avp/SMOVDATA.C b/src/avp/smovdata.c similarity index 100% rename from 3dc/avp/SMOVDATA.C rename to src/avp/smovdata.c diff --git a/3dc/avp/statpane.h b/src/avp/statpane.h similarity index 100% rename from 3dc/avp/statpane.h rename to src/avp/statpane.h diff --git a/3dc/avp/STRATDEF.C b/src/avp/stratdef.c similarity index 100% rename from 3dc/avp/STRATDEF.C rename to src/avp/stratdef.c diff --git a/3dc/avp/STRATDEF.H b/src/avp/stratdef.h similarity index 100% rename from 3dc/avp/STRATDEF.H rename to src/avp/stratdef.h diff --git a/3dc/avp/support/command.hpp b/src/avp/support/command.hpp similarity index 100% rename from 3dc/avp/support/command.hpp rename to src/avp/support/command.hpp diff --git a/3dc/avp/support/consbind.cpp b/src/avp/support/consbind.cpp similarity index 100% rename from 3dc/avp/support/consbind.cpp rename to src/avp/support/consbind.cpp diff --git a/3dc/avp/support/consbind.hpp b/src/avp/support/consbind.hpp similarity index 100% rename from 3dc/avp/support/consbind.hpp rename to src/avp/support/consbind.hpp diff --git a/3dc/avp/support/consbtch.cpp b/src/avp/support/consbtch.cpp similarity index 100% rename from 3dc/avp/support/consbtch.cpp rename to src/avp/support/consbtch.cpp diff --git a/3dc/avp/support/consbtch.hpp b/src/avp/support/consbtch.hpp similarity index 100% rename from 3dc/avp/support/consbtch.hpp rename to src/avp/support/consbtch.hpp diff --git a/3dc/avp/support/COORDSTR.CPP b/src/avp/support/coordstr.cpp similarity index 100% rename from 3dc/avp/support/COORDSTR.CPP rename to src/avp/support/coordstr.cpp diff --git a/3dc/avp/support/COORDSTR.HPP b/src/avp/support/coordstr.hpp similarity index 100% rename from 3dc/avp/support/COORDSTR.HPP rename to src/avp/support/coordstr.hpp diff --git a/3dc/avp/support/DAEMON.CPP b/src/avp/support/daemon.cpp similarity index 100% rename from 3dc/avp/support/DAEMON.CPP rename to src/avp/support/daemon.cpp diff --git a/3dc/avp/support/daemon.h b/src/avp/support/daemon.h similarity index 100% rename from 3dc/avp/support/daemon.h rename to src/avp/support/daemon.h diff --git a/3dc/avp/support/dcontext.hpp b/src/avp/support/dcontext.hpp similarity index 100% rename from 3dc/avp/support/dcontext.hpp rename to src/avp/support/dcontext.hpp diff --git a/3dc/avp/support/expvar.hpp b/src/avp/support/expvar.hpp similarity index 100% rename from 3dc/avp/support/expvar.hpp rename to src/avp/support/expvar.hpp diff --git a/3dc/avp/support/indexfnt.cpp b/src/avp/support/indexfnt.cpp similarity index 100% rename from 3dc/avp/support/indexfnt.cpp rename to src/avp/support/indexfnt.cpp diff --git a/3dc/avp/support/indexfnt.hpp b/src/avp/support/indexfnt.hpp similarity index 100% rename from 3dc/avp/support/indexfnt.hpp rename to src/avp/support/indexfnt.hpp diff --git a/3dc/avp/support/ourbool.h b/src/avp/support/ourbool.h similarity index 100% rename from 3dc/avp/support/ourbool.h rename to src/avp/support/ourbool.h diff --git a/3dc/avp/support/r2base.cpp b/src/avp/support/r2base.cpp similarity index 100% rename from 3dc/avp/support/r2base.cpp rename to src/avp/support/r2base.cpp diff --git a/3dc/avp/support/r2base.h b/src/avp/support/r2base.h similarity index 100% rename from 3dc/avp/support/r2base.h rename to src/avp/support/r2base.h diff --git a/3dc/avp/support/r2pos666.cpp b/src/avp/support/r2pos666.cpp similarity index 100% rename from 3dc/avp/support/r2pos666.cpp rename to src/avp/support/r2pos666.cpp diff --git a/3dc/avp/support/r2pos666.hpp b/src/avp/support/r2pos666.hpp similarity index 100% rename from 3dc/avp/support/r2pos666.hpp rename to src/avp/support/r2pos666.hpp diff --git a/3dc/avp/support/rebitems.cpp b/src/avp/support/rebitems.cpp similarity index 100% rename from 3dc/avp/support/rebitems.cpp rename to src/avp/support/rebitems.cpp diff --git a/3dc/avp/support/rebitems.hpp b/src/avp/support/rebitems.hpp similarity index 100% rename from 3dc/avp/support/rebitems.hpp rename to src/avp/support/rebitems.hpp diff --git a/3dc/avp/support/rebmenus.cpp b/src/avp/support/rebmenus.cpp similarity index 100% rename from 3dc/avp/support/rebmenus.cpp rename to src/avp/support/rebmenus.cpp diff --git a/3dc/avp/support/rebmenus.hpp b/src/avp/support/rebmenus.hpp similarity index 100% rename from 3dc/avp/support/rebmenus.hpp rename to src/avp/support/rebmenus.hpp diff --git a/3dc/avp/support/reflist.cpp b/src/avp/support/reflist.cpp similarity index 100% rename from 3dc/avp/support/reflist.cpp rename to src/avp/support/reflist.cpp diff --git a/3dc/avp/support/reflist.hpp b/src/avp/support/reflist.hpp similarity index 100% rename from 3dc/avp/support/reflist.hpp rename to src/avp/support/reflist.hpp diff --git a/3dc/avp/support/refobj.cpp b/src/avp/support/refobj.cpp similarity index 100% rename from 3dc/avp/support/refobj.cpp rename to src/avp/support/refobj.cpp diff --git a/3dc/avp/support/refobj.hpp b/src/avp/support/refobj.hpp similarity index 100% rename from 3dc/avp/support/refobj.hpp rename to src/avp/support/refobj.hpp diff --git a/3dc/avp/support/rentrntq.cpp b/src/avp/support/rentrntq.cpp similarity index 100% rename from 3dc/avp/support/rentrntq.cpp rename to src/avp/support/rentrntq.cpp diff --git a/3dc/avp/support/rentrntq.h b/src/avp/support/rentrntq.h similarity index 100% rename from 3dc/avp/support/rentrntq.h rename to src/avp/support/rentrntq.h diff --git a/3dc/avp/support/scstring.cpp b/src/avp/support/scstring.cpp similarity index 100% rename from 3dc/avp/support/scstring.cpp rename to src/avp/support/scstring.cpp diff --git a/3dc/avp/support/scstring.hpp b/src/avp/support/scstring.hpp similarity index 100% rename from 3dc/avp/support/scstring.hpp rename to src/avp/support/scstring.hpp diff --git a/3dc/avp/support/strtab.cpp b/src/avp/support/strtab.cpp similarity index 100% rename from 3dc/avp/support/strtab.cpp rename to src/avp/support/strtab.cpp diff --git a/3dc/avp/support/strtab.hpp b/src/avp/support/strtab.hpp similarity index 100% rename from 3dc/avp/support/strtab.hpp rename to src/avp/support/strtab.hpp diff --git a/3dc/avp/support/strutil.c b/src/avp/support/strutil.c similarity index 100% rename from 3dc/avp/support/strutil.c rename to src/avp/support/strutil.c diff --git a/3dc/avp/support/strutil.h b/src/avp/support/strutil.h similarity index 100% rename from 3dc/avp/support/strutil.h rename to src/avp/support/strutil.h diff --git a/3dc/avp/support/tallfont.cpp b/src/avp/support/tallfont.cpp similarity index 100% rename from 3dc/avp/support/tallfont.cpp rename to src/avp/support/tallfont.cpp diff --git a/3dc/avp/support/tallfont.hpp b/src/avp/support/tallfont.hpp similarity index 100% rename from 3dc/avp/support/tallfont.hpp rename to src/avp/support/tallfont.hpp diff --git a/3dc/avp/support/trig666.cpp b/src/avp/support/trig666.cpp similarity index 100% rename from 3dc/avp/support/trig666.cpp rename to src/avp/support/trig666.cpp diff --git a/3dc/avp/support/trig666.hpp b/src/avp/support/trig666.hpp similarity index 100% rename from 3dc/avp/support/trig666.hpp rename to src/avp/support/trig666.hpp diff --git a/3dc/avp/support/wrapstr.cpp b/src/avp/support/wrapstr.cpp similarity index 100% rename from 3dc/avp/support/wrapstr.cpp rename to src/avp/support/wrapstr.cpp diff --git a/3dc/avp/support/wrapstr.hpp b/src/avp/support/wrapstr.hpp similarity index 100% rename from 3dc/avp/support/wrapstr.hpp rename to src/avp/support/wrapstr.hpp diff --git a/3dc/avp/targeting.c b/src/avp/targeting.c similarity index 100% rename from 3dc/avp/targeting.c rename to src/avp/targeting.c diff --git a/3dc/avp/targeting.h b/src/avp/targeting.h similarity index 100% rename from 3dc/avp/targeting.h rename to src/avp/targeting.h diff --git a/3dc/avp/track.c b/src/avp/track.c similarity index 100% rename from 3dc/avp/track.c rename to src/avp/track.c diff --git a/3dc/avp/track.h b/src/avp/track.h similarity index 100% rename from 3dc/avp/track.h rename to src/avp/track.h diff --git a/3dc/avp/TRIGGERS.C b/src/avp/triggers.c similarity index 100% rename from 3dc/avp/TRIGGERS.C rename to src/avp/triggers.c diff --git a/3dc/avp/TRIGGERS.H b/src/avp/triggers.h similarity index 100% rename from 3dc/avp/TRIGGERS.H rename to src/avp/triggers.h diff --git a/3dc/avp/Weapons.c b/src/avp/weapons.c similarity index 100% rename from 3dc/avp/Weapons.c rename to src/avp/weapons.c diff --git a/3dc/avp/WEAPONS.H b/src/avp/weapons.h similarity index 100% rename from 3dc/avp/WEAPONS.H rename to src/avp/weapons.h diff --git a/3dc/avp/win95/AVPCHUNK.CPP b/src/avp/win95/avpchunk.cpp similarity index 100% rename from 3dc/avp/win95/AVPCHUNK.CPP rename to src/avp/win95/avpchunk.cpp diff --git a/3dc/avp/win95/AVPCHUNK.HPP b/src/avp/win95/avpchunk.hpp similarity index 100% rename from 3dc/avp/win95/AVPCHUNK.HPP rename to src/avp/win95/avpchunk.hpp diff --git a/3dc/avp/win95/AvpReg.cpp b/src/avp/win95/avpreg.cpp similarity index 100% rename from 3dc/avp/win95/AvpReg.cpp rename to src/avp/win95/avpreg.cpp diff --git a/3dc/avp/win95/AvpReg.hpp b/src/avp/win95/avpreg.hpp similarity index 100% rename from 3dc/avp/win95/AvpReg.hpp rename to src/avp/win95/avpreg.hpp diff --git a/3dc/avp/win95/BMP2.H b/src/avp/win95/bmp2.h similarity index 100% rename from 3dc/avp/win95/BMP2.H rename to src/avp/win95/bmp2.h diff --git a/3dc/avp/win95/CHEAT.C b/src/avp/win95/cheat.c similarity index 100% rename from 3dc/avp/win95/CHEAT.C rename to src/avp/win95/cheat.c diff --git a/3dc/avp/win95/CHEAT.H b/src/avp/win95/cheat.h similarity index 100% rename from 3dc/avp/win95/CHEAT.H rename to src/avp/win95/cheat.h diff --git a/3dc/avp/win95/chtcodes.cpp b/src/avp/win95/chtcodes.cpp similarity index 100% rename from 3dc/avp/win95/chtcodes.cpp rename to src/avp/win95/chtcodes.cpp diff --git a/3dc/avp/win95/d3d_hud.cpp b/src/avp/win95/d3d_hud.cpp similarity index 100% rename from 3dc/avp/win95/d3d_hud.cpp rename to src/avp/win95/d3d_hud.cpp diff --git a/3dc/avp/win95/d3d_hud.h b/src/avp/win95/d3d_hud.h similarity index 100% rename from 3dc/avp/win95/d3d_hud.h rename to src/avp/win95/d3d_hud.h diff --git a/3dc/avp/win95/d3d_render.cpp b/src/avp/win95/d3d_render.cpp similarity index 100% rename from 3dc/avp/win95/d3d_render.cpp rename to src/avp/win95/d3d_render.cpp diff --git a/3dc/avp/win95/d3d_render.h b/src/avp/win95/d3d_render.h similarity index 100% rename from 3dc/avp/win95/d3d_render.h rename to src/avp/win95/d3d_render.h diff --git a/3dc/avp/win95/datatype.h b/src/avp/win95/datatype.h similarity index 100% rename from 3dc/avp/win95/datatype.h rename to src/avp/win95/datatype.h diff --git a/3dc/avp/win95/dbdefs.h b/src/avp/win95/dbdefs.h similarity index 100% rename from 3dc/avp/win95/dbdefs.h rename to src/avp/win95/dbdefs.h diff --git a/3dc/avp/win95/Ddplat.cpp b/src/avp/win95/ddplat.cpp similarity index 100% rename from 3dc/avp/win95/Ddplat.cpp rename to src/avp/win95/ddplat.cpp diff --git a/3dc/avp/win95/DirectPlay.c b/src/avp/win95/directplay.c similarity index 100% rename from 3dc/avp/win95/DirectPlay.c rename to src/avp/win95/directplay.c diff --git a/3dc/avp/win95/Dp_func.c b/src/avp/win95/dp_func.c similarity index 100% rename from 3dc/avp/win95/Dp_func.c rename to src/avp/win95/dp_func.c diff --git a/3dc/avp/win95/Dp_func.h b/src/avp/win95/dp_func.h similarity index 100% rename from 3dc/avp/win95/Dp_func.h rename to src/avp/win95/dp_func.h diff --git a/3dc/avp/win95/dp_Sprh.h b/src/avp/win95/dp_sprh.h similarity index 100% rename from 3dc/avp/win95/dp_Sprh.h rename to src/avp/win95/dp_sprh.h diff --git a/3dc/avp/win95/dplayext.c b/src/avp/win95/dplayext.c similarity index 100% rename from 3dc/avp/win95/dplayext.c rename to src/avp/win95/dplayext.c diff --git a/3dc/avp/win95/dplayext.h b/src/avp/win95/dplayext.h similarity index 100% rename from 3dc/avp/win95/dplayext.h rename to src/avp/win95/dplayext.h diff --git a/3dc/avp/win95/dx_proj.cpp b/src/avp/win95/dx_proj.cpp similarity index 100% rename from 3dc/avp/win95/dx_proj.cpp rename to src/avp/win95/dx_proj.cpp diff --git a/3dc/avp/win95/EAX.H b/src/avp/win95/eax.h similarity index 100% rename from 3dc/avp/win95/EAX.H rename to src/avp/win95/eax.h diff --git a/3dc/avp/win95/endianio.c b/src/avp/win95/endianio.c similarity index 100% rename from 3dc/avp/win95/endianio.c rename to src/avp/win95/endianio.c diff --git a/3dc/avp/win95/endianio.h b/src/avp/win95/endianio.h similarity index 100% rename from 3dc/avp/win95/endianio.h rename to src/avp/win95/endianio.h diff --git a/3dc/avp/win95/FFREAD.CPP b/src/avp/win95/ffread.cpp similarity index 100% rename from 3dc/avp/win95/FFREAD.CPP rename to src/avp/win95/ffread.cpp diff --git a/3dc/avp/win95/FFREAD.HPP b/src/avp/win95/ffread.hpp similarity index 100% rename from 3dc/avp/win95/FFREAD.HPP rename to src/avp/win95/ffread.hpp diff --git a/3dc/avp/win95/FFSTDIO.CPP b/src/avp/win95/ffstdio.cpp similarity index 100% rename from 3dc/avp/win95/FFSTDIO.CPP rename to src/avp/win95/ffstdio.cpp diff --git a/3dc/avp/win95/FFSTDIO.H b/src/avp/win95/ffstdio.h similarity index 100% rename from 3dc/avp/win95/FFSTDIO.H rename to src/avp/win95/ffstdio.h diff --git a/3dc/avp/win95/font.h b/src/avp/win95/font.h similarity index 100% rename from 3dc/avp/win95/font.h rename to src/avp/win95/font.h diff --git a/3dc/avp/win95/Frontend/AvP_EnvInfo.c b/src/avp/win95/frontend/avp_envinfo.c similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_EnvInfo.c rename to src/avp/win95/frontend/avp_envinfo.c diff --git a/3dc/avp/win95/Frontend/AvP_EnvInfo.h b/src/avp/win95/frontend/avp_envinfo.h similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_EnvInfo.h rename to src/avp/win95/frontend/avp_envinfo.h diff --git a/3dc/avp/win95/Frontend/AvP_Intro.cpp b/src/avp/win95/frontend/avp_intro.cpp similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_Intro.cpp rename to src/avp/win95/frontend/avp_intro.cpp diff --git a/3dc/avp/win95/Frontend/AvP_MenuData.c b/src/avp/win95/frontend/avp_menudata.c similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_MenuData.c rename to src/avp/win95/frontend/avp_menudata.c diff --git a/3dc/avp/win95/Frontend/AvP_MenuGfx.cpp b/src/avp/win95/frontend/avp_menugfx.cpp similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_MenuGfx.cpp rename to src/avp/win95/frontend/avp_menugfx.cpp diff --git a/3dc/avp/win95/Frontend/AvP_MenuGfx.hpp b/src/avp/win95/frontend/avp_menugfx.hpp similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_MenuGfx.hpp rename to src/avp/win95/frontend/avp_menugfx.hpp diff --git a/3dc/avp/win95/Frontend/AvP_Menus.c b/src/avp/win95/frontend/avp_menus.c similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_Menus.c rename to src/avp/win95/frontend/avp_menus.c diff --git a/3dc/avp/win95/Frontend/AvP_Menus.h b/src/avp/win95/frontend/avp_menus.h similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_Menus.h rename to src/avp/win95/frontend/avp_menus.h diff --git a/3dc/avp/win95/Frontend/AvP_MP_Config.cpp b/src/avp/win95/frontend/avp_mp_config.cpp similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_MP_Config.cpp rename to src/avp/win95/frontend/avp_mp_config.cpp diff --git a/3dc/avp/win95/Frontend/AvP_MP_Config.h b/src/avp/win95/frontend/avp_mp_config.h similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_MP_Config.h rename to src/avp/win95/frontend/avp_mp_config.h diff --git a/3dc/avp/win95/Frontend/AvP_UserProfile.cpp b/src/avp/win95/frontend/avp_userprofile.cpp similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_UserProfile.cpp rename to src/avp/win95/frontend/avp_userprofile.cpp diff --git a/3dc/avp/win95/Frontend/AvP_UserProfile.h b/src/avp/win95/frontend/avp_userprofile.h similarity index 100% rename from 3dc/avp/win95/Frontend/AvP_UserProfile.h rename to src/avp/win95/frontend/avp_userprofile.h diff --git a/3dc/avp/win95/gadgets/ahudgadg.cpp b/src/avp/win95/gadgets/ahudgadg.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/ahudgadg.cpp rename to src/avp/win95/gadgets/ahudgadg.cpp diff --git a/3dc/avp/win95/gadgets/ahudgadg.hpp b/src/avp/win95/gadgets/ahudgadg.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/ahudgadg.hpp rename to src/avp/win95/gadgets/ahudgadg.hpp diff --git a/3dc/avp/win95/gadgets/conscmnd.cpp b/src/avp/win95/gadgets/conscmnd.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/conscmnd.cpp rename to src/avp/win95/gadgets/conscmnd.cpp diff --git a/3dc/avp/win95/gadgets/conscmnd.hpp b/src/avp/win95/gadgets/conscmnd.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/conscmnd.hpp rename to src/avp/win95/gadgets/conscmnd.hpp diff --git a/3dc/avp/win95/gadgets/conssym.cpp b/src/avp/win95/gadgets/conssym.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/conssym.cpp rename to src/avp/win95/gadgets/conssym.cpp diff --git a/3dc/avp/win95/gadgets/conssym.hpp b/src/avp/win95/gadgets/conssym.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/conssym.hpp rename to src/avp/win95/gadgets/conssym.hpp diff --git a/3dc/avp/win95/gadgets/consvar.cpp b/src/avp/win95/gadgets/consvar.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/consvar.cpp rename to src/avp/win95/gadgets/consvar.cpp diff --git a/3dc/avp/win95/gadgets/consvar.hpp b/src/avp/win95/gadgets/consvar.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/consvar.hpp rename to src/avp/win95/gadgets/consvar.hpp diff --git a/3dc/avp/win95/gadgets/gadget.cpp b/src/avp/win95/gadgets/gadget.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/gadget.cpp rename to src/avp/win95/gadgets/gadget.cpp diff --git a/3dc/avp/win95/gadgets/gadget.h b/src/avp/win95/gadgets/gadget.h similarity index 100% rename from 3dc/avp/win95/gadgets/gadget.h rename to src/avp/win95/gadgets/gadget.h diff --git a/3dc/avp/win95/gadgets/hudgadg.cpp b/src/avp/win95/gadgets/hudgadg.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/hudgadg.cpp rename to src/avp/win95/gadgets/hudgadg.cpp diff --git a/3dc/avp/win95/gadgets/hudgadg.hpp b/src/avp/win95/gadgets/hudgadg.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/hudgadg.hpp rename to src/avp/win95/gadgets/hudgadg.hpp diff --git a/3dc/avp/win95/gadgets/rootgadg.cpp b/src/avp/win95/gadgets/rootgadg.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/rootgadg.cpp rename to src/avp/win95/gadgets/rootgadg.cpp diff --git a/3dc/avp/win95/gadgets/rootgadg.hpp b/src/avp/win95/gadgets/rootgadg.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/rootgadg.hpp rename to src/avp/win95/gadgets/rootgadg.hpp diff --git a/3dc/avp/win95/gadgets/t_ingadg.cpp b/src/avp/win95/gadgets/t_ingadg.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/t_ingadg.cpp rename to src/avp/win95/gadgets/t_ingadg.cpp diff --git a/3dc/avp/win95/gadgets/t_ingadg.hpp b/src/avp/win95/gadgets/t_ingadg.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/t_ingadg.hpp rename to src/avp/win95/gadgets/t_ingadg.hpp diff --git a/3dc/avp/win95/gadgets/teletype.cpp b/src/avp/win95/gadgets/teletype.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/teletype.cpp rename to src/avp/win95/gadgets/teletype.cpp diff --git a/3dc/avp/win95/gadgets/teletype.hpp b/src/avp/win95/gadgets/teletype.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/teletype.hpp rename to src/avp/win95/gadgets/teletype.hpp diff --git a/3dc/avp/win95/gadgets/textexp.cpp b/src/avp/win95/gadgets/textexp.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/textexp.cpp rename to src/avp/win95/gadgets/textexp.cpp diff --git a/3dc/avp/win95/gadgets/textexp.hpp b/src/avp/win95/gadgets/textexp.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/textexp.hpp rename to src/avp/win95/gadgets/textexp.hpp diff --git a/3dc/avp/win95/gadgets/textin.cpp b/src/avp/win95/gadgets/textin.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/textin.cpp rename to src/avp/win95/gadgets/textin.cpp diff --git a/3dc/avp/win95/gadgets/textin.hpp b/src/avp/win95/gadgets/textin.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/textin.hpp rename to src/avp/win95/gadgets/textin.hpp diff --git a/3dc/avp/win95/gadgets/trepgadg.cpp b/src/avp/win95/gadgets/trepgadg.cpp similarity index 100% rename from 3dc/avp/win95/gadgets/trepgadg.cpp rename to src/avp/win95/gadgets/trepgadg.cpp diff --git a/3dc/avp/win95/gadgets/trepgadg.hpp b/src/avp/win95/gadgets/trepgadg.hpp similarity index 100% rename from 3dc/avp/win95/gadgets/trepgadg.hpp rename to src/avp/win95/gadgets/trepgadg.hpp diff --git a/3dc/avp/win95/GAMEPLAT.H b/src/avp/win95/gameplat.h similarity index 100% rename from 3dc/avp/win95/GAMEPLAT.H rename to src/avp/win95/gameplat.h diff --git a/3dc/avp/win95/GammaControl.cpp b/src/avp/win95/gammacontrol.cpp similarity index 100% rename from 3dc/avp/win95/GammaControl.cpp rename to src/avp/win95/gammacontrol.cpp diff --git a/3dc/avp/win95/GammaControl.h b/src/avp/win95/gammacontrol.h similarity index 100% rename from 3dc/avp/win95/GammaControl.h rename to src/avp/win95/gammacontrol.h diff --git a/3dc/avp/win95/gflwplat.c b/src/avp/win95/gflwplat.c similarity index 100% rename from 3dc/avp/win95/gflwplat.c rename to src/avp/win95/gflwplat.c diff --git a/3dc/avp/win95/HEAP_TEM.HPP b/src/avp/win95/heap_tem.hpp similarity index 100% rename from 3dc/avp/win95/HEAP_TEM.HPP rename to src/avp/win95/heap_tem.hpp diff --git a/3dc/avp/win95/hierplace.cpp b/src/avp/win95/hierplace.cpp similarity index 100% rename from 3dc/avp/win95/hierplace.cpp rename to src/avp/win95/hierplace.cpp diff --git a/3dc/avp/win95/hierplace.hpp b/src/avp/win95/hierplace.hpp similarity index 100% rename from 3dc/avp/win95/hierplace.hpp rename to src/avp/win95/hierplace.hpp diff --git a/3dc/avp/win95/HUD_DATA.H b/src/avp/win95/hud_data.h similarity index 100% rename from 3dc/avp/win95/HUD_DATA.H rename to src/avp/win95/hud_data.h diff --git a/3dc/avp/win95/HUD_layout.h b/src/avp/win95/hud_layout.h similarity index 100% rename from 3dc/avp/win95/HUD_layout.h rename to src/avp/win95/hud_layout.h diff --git a/3dc/avp/win95/HUDGFX.H b/src/avp/win95/hudgfx.h similarity index 100% rename from 3dc/avp/win95/HUDGFX.H rename to src/avp/win95/hudgfx.h diff --git a/3dc/avp/win95/Ia3d.h b/src/avp/win95/ia3d.h similarity index 99% rename from 3dc/avp/win95/Ia3d.h rename to src/avp/win95/ia3d.h index 15d8be3..5e54ba2 100644 --- a/3dc/avp/win95/Ia3d.h +++ b/src/avp/win95/ia3d.h @@ -4,7 +4,7 @@ * *--------------------------------------------------------------------- * - * $Id: ia3d.h%v 1.1 1996/09/02 10:50:35 mike Exp mike $ + * $Id: ia3d.h,v 1.1 2001/07/01 00:55:23 relnev Exp $ * *--------------------------------------------------------------------- * diff --git a/3dc/avp/win95/intro.cpp b/src/avp/win95/intro.cpp similarity index 100% rename from 3dc/avp/win95/intro.cpp rename to src/avp/win95/intro.cpp diff --git a/3dc/avp/win95/intro.hpp b/src/avp/win95/intro.hpp similarity index 100% rename from 3dc/avp/win95/intro.hpp rename to src/avp/win95/intro.hpp diff --git a/3dc/avp/win95/iofocus.cpp b/src/avp/win95/iofocus.cpp similarity index 100% rename from 3dc/avp/win95/iofocus.cpp rename to src/avp/win95/iofocus.cpp diff --git a/3dc/avp/win95/iofocus.h b/src/avp/win95/iofocus.h similarity index 100% rename from 3dc/avp/win95/iofocus.h rename to src/avp/win95/iofocus.h diff --git a/3dc/avp/win95/jsndsup.cpp b/src/avp/win95/jsndsup.cpp similarity index 100% rename from 3dc/avp/win95/jsndsup.cpp rename to src/avp/win95/jsndsup.cpp diff --git a/3dc/avp/win95/jsndsup.h b/src/avp/win95/jsndsup.h similarity index 100% rename from 3dc/avp/win95/jsndsup.h rename to src/avp/win95/jsndsup.h diff --git a/3dc/avp/win95/KZSORT.C b/src/avp/win95/kzsort.c similarity index 100% rename from 3dc/avp/win95/KZSORT.C rename to src/avp/win95/kzsort.c diff --git a/3dc/avp/win95/KZSORT.H b/src/avp/win95/kzsort.h similarity index 100% rename from 3dc/avp/win95/KZSORT.H rename to src/avp/win95/kzsort.h diff --git a/3dc/avp/win95/LANGPLAT.C b/src/avp/win95/langplat.c similarity index 100% rename from 3dc/avp/win95/LANGPLAT.C rename to src/avp/win95/langplat.c diff --git a/3dc/avp/win95/menugfx.h b/src/avp/win95/menugfx.h similarity index 100% rename from 3dc/avp/win95/menugfx.h rename to src/avp/win95/menugfx.h diff --git a/3dc/avp/win95/MENUPLAT.CPP b/src/avp/win95/menuplat.cpp similarity index 100% rename from 3dc/avp/win95/MENUPLAT.CPP rename to src/avp/win95/menuplat.cpp diff --git a/3dc/avp/win95/modcmds.cpp b/src/avp/win95/modcmds.cpp similarity index 100% rename from 3dc/avp/win95/modcmds.cpp rename to src/avp/win95/modcmds.cpp diff --git a/3dc/avp/win95/modcmds.hpp b/src/avp/win95/modcmds.hpp similarity index 100% rename from 3dc/avp/win95/modcmds.hpp rename to src/avp/win95/modcmds.hpp diff --git a/3dc/avp/win95/MouseCentreing.cpp b/src/avp/win95/mousecentreing.cpp similarity index 100% rename from 3dc/avp/win95/MouseCentreing.cpp rename to src/avp/win95/mousecentreing.cpp diff --git a/3dc/avp/win95/MULTMENU.C b/src/avp/win95/multmenu.c similarity index 100% rename from 3dc/avp/win95/MULTMENU.C rename to src/avp/win95/multmenu.c diff --git a/3dc/avp/win95/MULTMENU.H b/src/avp/win95/multmenu.h similarity index 100% rename from 3dc/avp/win95/MULTMENU.H rename to src/avp/win95/multmenu.h diff --git a/3dc/avp/win95/NPCSETUP.CPP b/src/avp/win95/npcsetup.cpp similarity index 100% rename from 3dc/avp/win95/NPCSETUP.CPP rename to src/avp/win95/npcsetup.cpp diff --git a/3dc/avp/win95/NPCSETUP.H b/src/avp/win95/npcsetup.h similarity index 100% rename from 3dc/avp/win95/NPCSETUP.H rename to src/avp/win95/npcsetup.h diff --git a/3dc/avp/win95/Objsetup.cpp b/src/avp/win95/objsetup.cpp similarity index 100% rename from 3dc/avp/win95/Objsetup.cpp rename to src/avp/win95/objsetup.cpp diff --git a/3dc/avp/win95/OBJSETUP.HPP b/src/avp/win95/objsetup.hpp similarity index 100% rename from 3dc/avp/win95/OBJSETUP.HPP rename to src/avp/win95/objsetup.hpp diff --git a/3dc/avp/win95/PathChnk.cpp b/src/avp/win95/pathchnk.cpp similarity index 100% rename from 3dc/avp/win95/PathChnk.cpp rename to src/avp/win95/pathchnk.cpp diff --git a/3dc/avp/win95/PathChnk.hpp b/src/avp/win95/pathchnk.hpp similarity index 100% rename from 3dc/avp/win95/PathChnk.hpp rename to src/avp/win95/pathchnk.hpp diff --git a/3dc/avp/win95/PCMENUS.CPP b/src/avp/win95/pcmenus.cpp similarity index 100% rename from 3dc/avp/win95/PCMENUS.CPP rename to src/avp/win95/pcmenus.cpp diff --git a/3dc/avp/win95/PCMENUS.H b/src/avp/win95/pcmenus.h similarity index 100% rename from 3dc/avp/win95/PCMENUS.H rename to src/avp/win95/pcmenus.h diff --git a/3dc/avp/win95/PCPAUSE.C b/src/avp/win95/pcpause.c similarity index 100% rename from 3dc/avp/win95/PCPAUSE.C rename to src/avp/win95/pcpause.c diff --git a/3dc/avp/win95/PLATSUP.C b/src/avp/win95/platsup.c similarity index 100% rename from 3dc/avp/win95/PLATSUP.C rename to src/avp/win95/platsup.c diff --git a/3dc/avp/win95/Pldghost.c b/src/avp/win95/pldghost.c similarity index 100% rename from 3dc/avp/win95/Pldghost.c rename to src/avp/win95/pldghost.c diff --git a/3dc/avp/win95/PLDGHOST.H b/src/avp/win95/pldghost.h similarity index 100% rename from 3dc/avp/win95/PLDGHOST.H rename to src/avp/win95/pldghost.h diff --git a/3dc/avp/win95/Pldnet.c b/src/avp/win95/pldnet.c similarity index 100% rename from 3dc/avp/win95/Pldnet.c rename to src/avp/win95/pldnet.c diff --git a/3dc/avp/win95/Pldnet.h b/src/avp/win95/pldnet.h similarity index 100% rename from 3dc/avp/win95/Pldnet.h rename to src/avp/win95/pldnet.h diff --git a/3dc/avp/win95/progress_bar.cpp b/src/avp/win95/progress_bar.cpp similarity index 100% rename from 3dc/avp/win95/progress_bar.cpp rename to src/avp/win95/progress_bar.cpp diff --git a/3dc/avp/win95/progress_bar.h b/src/avp/win95/progress_bar.h similarity index 100% rename from 3dc/avp/win95/progress_bar.h rename to src/avp/win95/progress_bar.h diff --git a/3dc/avp/win95/Projload.cpp b/src/avp/win95/projload.cpp similarity index 100% rename from 3dc/avp/win95/Projload.cpp rename to src/avp/win95/projload.cpp diff --git a/3dc/avp/win95/PROJLOAD.HPP b/src/avp/win95/projload.hpp similarity index 100% rename from 3dc/avp/win95/PROJLOAD.HPP rename to src/avp/win95/projload.hpp diff --git a/3dc/avp/win95/Psndplat.c b/src/avp/win95/psndplat.c similarity index 100% rename from 3dc/avp/win95/Psndplat.c rename to src/avp/win95/psndplat.c diff --git a/3dc/avp/win95/PSNDPLAT.H b/src/avp/win95/psndplat.h similarity index 100% rename from 3dc/avp/win95/PSNDPLAT.H rename to src/avp/win95/psndplat.h diff --git a/3dc/avp/win95/SCRSHOT.CPP b/src/avp/win95/scrshot.cpp similarity index 100% rename from 3dc/avp/win95/SCRSHOT.CPP rename to src/avp/win95/scrshot.cpp diff --git a/3dc/avp/win95/SCRSHOT.HPP b/src/avp/win95/scrshot.hpp similarity index 100% rename from 3dc/avp/win95/SCRSHOT.HPP rename to src/avp/win95/scrshot.hpp diff --git a/3dc/avp/win95/STRACHNK.CPP b/src/avp/win95/strachnk.cpp similarity index 100% rename from 3dc/avp/win95/STRACHNK.CPP rename to src/avp/win95/strachnk.cpp diff --git a/3dc/avp/win95/Strachnk.hpp b/src/avp/win95/strachnk.hpp similarity index 100% rename from 3dc/avp/win95/Strachnk.hpp rename to src/avp/win95/strachnk.hpp diff --git a/3dc/avp/win95/system.c b/src/avp/win95/system.c similarity index 100% rename from 3dc/avp/win95/system.c rename to src/avp/win95/system.c diff --git a/3dc/avp/win95/System.h b/src/avp/win95/system.h similarity index 100% rename from 3dc/avp/win95/System.h rename to src/avp/win95/system.h diff --git a/3dc/avp/win95/USR_IO.C b/src/avp/win95/usr_io.c similarity index 100% rename from 3dc/avp/win95/USR_IO.C rename to src/avp/win95/usr_io.c diff --git a/3dc/avp/win95/USR_IO.H b/src/avp/win95/usr_io.h similarity index 100% rename from 3dc/avp/win95/USR_IO.H rename to src/avp/win95/usr_io.h diff --git a/3dc/avp/win95/VISION.C b/src/avp/win95/vision.c similarity index 100% rename from 3dc/avp/win95/VISION.C rename to src/avp/win95/vision.c diff --git a/3dc/avp/win95/VISION.H b/src/avp/win95/vision.h similarity index 100% rename from 3dc/avp/win95/VISION.H rename to src/avp/win95/vision.h diff --git a/3dc/avp/win95/VMANPSET.H b/src/avp/win95/vmanpset.h similarity index 100% rename from 3dc/avp/win95/VMANPSET.H rename to src/avp/win95/vmanpset.h diff --git a/3dc/avp/win95/win_proj.cpp b/src/avp/win95/win_proj.cpp similarity index 100% rename from 3dc/avp/win95/win_proj.cpp rename to src/avp/win95/win_proj.cpp diff --git a/3dc/avp/win95/winmain.c b/src/avp/win95/winmain.c similarity index 100% rename from 3dc/avp/win95/winmain.c rename to src/avp/win95/winmain.c diff --git a/3dc/frustrum.c b/src/frustrum.c similarity index 100% rename from 3dc/frustrum.c rename to src/frustrum.c diff --git a/3dc/frustrum.h b/src/frustrum.h similarity index 100% rename from 3dc/frustrum.h rename to src/frustrum.h diff --git a/3dc/GENPARAM.TXT b/src/genparam.txt similarity index 100% rename from 3dc/GENPARAM.TXT rename to src/genparam.txt diff --git a/3dc/include/3dc.h b/src/include/3dc.h similarity index 100% rename from 3dc/include/3dc.h rename to src/include/3dc.h diff --git a/3dc/include/mem3dc.h b/src/include/mem3dc.h similarity index 100% rename from 3dc/include/mem3dc.h rename to src/include/mem3dc.h diff --git a/3dc/include/module.h b/src/include/module.h similarity index 100% rename from 3dc/include/module.h rename to src/include/module.h diff --git a/3dc/include/prototyp.h b/src/include/prototyp.h similarity index 100% rename from 3dc/include/prototyp.h rename to src/include/prototyp.h diff --git a/3dc/include/shape.h b/src/include/shape.h similarity index 100% rename from 3dc/include/shape.h rename to src/include/shape.h diff --git a/3dc/Kshape.c b/src/kshape.c similarity index 100% rename from 3dc/Kshape.c rename to src/kshape.c diff --git a/3dc/KSHAPE.H b/src/kshape.h similarity index 100% rename from 3dc/KSHAPE.H rename to src/kshape.h diff --git a/3dc/MAP.C b/src/map.c similarity index 100% rename from 3dc/MAP.C rename to src/map.c diff --git a/3dc/Maths.c b/src/maths.c similarity index 97% rename from 3dc/Maths.c rename to src/maths.c index 5cd3f49..42546bb 100644 --- a/3dc/Maths.c +++ b/src/maths.c @@ -2528,29 +2528,6 @@ static long * front_ptr = table + SEP_3; static long * rear_ptr = table; -/* - This code (FastRandom and SetFastRandom) stolen from Jamie Lokier - September 95. The original version was part of a C library - implementation -*/ - - -/* This is derived from the GNU C library source, which is in turn - derived from Berkeley source. The algorithm, the polynomial, and the - initial numbers are the same, but the code has been reworked for the - needs of this version. - - This version doesn't support different types of random number - generators, or saving and restoring the state. It is fast, short and - as simple as it can be while still generating numbers as good as the - Berkeley one. The basic algorithm is to have a linear-feedback shift - register, whose bits are the least significant bits of each word in - the `table' array. The higher-order bits are generated by carries - from the arithmetic on the shift register bits, and have an even - longer period than the shift register. */ - -/* x**31 + x**3 + 1. */ - void SetSeededFastRandom(int seed); void SetFastRandom(void) diff --git a/3dc/mem3dc.c b/src/mem3dc.c similarity index 100% rename from 3dc/mem3dc.c rename to src/mem3dc.c diff --git a/3dc/MEM3DCPP.CPP b/src/mem3dcpp.cpp similarity index 100% rename from 3dc/MEM3DCPP.CPP rename to src/mem3dcpp.cpp diff --git a/3dc/MODULE.C b/src/module.c similarity index 100% rename from 3dc/MODULE.C rename to src/module.c diff --git a/3dc/MORPH.C b/src/morph.c similarity index 100% rename from 3dc/MORPH.C rename to src/morph.c diff --git a/3dc/movement.txt b/src/movement.txt similarity index 100% rename from 3dc/movement.txt rename to src/movement.txt diff --git a/3dc/MSLHAND.C b/src/mslhand.c similarity index 100% rename from 3dc/MSLHAND.C rename to src/mslhand.c diff --git a/3dc/MSLHAND.H b/src/mslhand.h similarity index 100% rename from 3dc/MSLHAND.H rename to src/mslhand.h diff --git a/3dc/OBJECT.C b/src/object.c similarity index 100% rename from 3dc/OBJECT.C rename to src/object.c diff --git a/3dc/shpanim.c b/src/shpanim.c similarity index 100% rename from 3dc/shpanim.c rename to src/shpanim.c diff --git a/3dc/sphere.c b/src/sphere.c similarity index 100% rename from 3dc/sphere.c rename to src/sphere.c diff --git a/3dc/sphere.h b/src/sphere.h similarity index 100% rename from 3dc/sphere.h rename to src/sphere.h diff --git a/3dc/TABLES.C b/src/tables.c similarity index 100% rename from 3dc/TABLES.C rename to src/tables.c diff --git a/3dc/VDB.C b/src/vdb.c similarity index 100% rename from 3dc/VDB.C rename to src/vdb.c diff --git a/3dc/version.c b/src/version.c similarity index 100% rename from 3dc/version.c rename to src/version.c diff --git a/3dc/version.h b/src/version.h similarity index 75% rename from 3dc/version.h rename to src/version.h index d532e58..8e1e1f5 100644 --- a/3dc/version.h +++ b/src/version.h @@ -1,3 +1,3 @@ /* KJL 15:56:24 29/03/98 - this function supplies a text description of the current build, and the build date. */ -extern void GiveVersionDetails(void); \ No newline at end of file +extern void GiveVersionDetails(void); diff --git a/3dc/win95/advwin32.h b/src/win95/advwin32.h similarity index 100% rename from 3dc/win95/advwin32.h rename to src/win95/advwin32.h diff --git a/3dc/win95/alt_tab.cpp b/src/win95/alt_tab.cpp similarity index 100% rename from 3dc/win95/alt_tab.cpp rename to src/win95/alt_tab.cpp diff --git a/3dc/win95/alt_tab.h b/src/win95/alt_tab.h similarity index 100% rename from 3dc/win95/alt_tab.h rename to src/win95/alt_tab.h diff --git a/3dc/win95/ANIMCHNK.CPP b/src/win95/animchnk.cpp similarity index 100% rename from 3dc/win95/ANIMCHNK.CPP rename to src/win95/animchnk.cpp diff --git a/3dc/win95/ANIMCHNK.HPP b/src/win95/animchnk.hpp similarity index 100% rename from 3dc/win95/ANIMCHNK.HPP rename to src/win95/animchnk.hpp diff --git a/3dc/win95/animobs.cpp b/src/win95/animobs.cpp similarity index 100% rename from 3dc/win95/animobs.cpp rename to src/win95/animobs.cpp diff --git a/3dc/win95/animobs.hpp b/src/win95/animobs.hpp similarity index 100% rename from 3dc/win95/animobs.hpp rename to src/win95/animobs.hpp diff --git a/3dc/win95/aw.h b/src/win95/aw.h similarity index 100% rename from 3dc/win95/aw.h rename to src/win95/aw.h diff --git a/3dc/win95/awBmpLd.cpp b/src/win95/awbmpld.cpp similarity index 100% rename from 3dc/win95/awBmpLd.cpp rename to src/win95/awbmpld.cpp diff --git a/3dc/win95/awIffLd.cpp b/src/win95/awiffld.cpp similarity index 100% rename from 3dc/win95/awIffLd.cpp rename to src/win95/awiffld.cpp diff --git a/3dc/win95/awPnmLd.cpp b/src/win95/awpnmld.cpp similarity index 100% rename from 3dc/win95/awPnmLd.cpp rename to src/win95/awpnmld.cpp diff --git a/3dc/win95/awTexLd.cpp b/src/win95/awtexld.cpp similarity index 100% rename from 3dc/win95/awTexLd.cpp rename to src/win95/awtexld.cpp diff --git a/3dc/win95/awTexLd.h b/src/win95/awtexld.h similarity index 100% rename from 3dc/win95/awTexLd.h rename to src/win95/awtexld.h diff --git a/3dc/win95/awTexLd.hpp b/src/win95/awtexld.hpp similarity index 100% rename from 3dc/win95/awTexLd.hpp rename to src/win95/awtexld.hpp diff --git a/3dc/win95/BMPNAMES.CPP b/src/win95/bmpnames.cpp similarity index 100% rename from 3dc/win95/BMPNAMES.CPP rename to src/win95/bmpnames.cpp diff --git a/3dc/win95/BMPNAMES.HPP b/src/win95/bmpnames.hpp similarity index 100% rename from 3dc/win95/BMPNAMES.HPP rename to src/win95/bmpnames.hpp diff --git a/3dc/win95/CD_player.c b/src/win95/cd_player.c similarity index 100% rename from 3dc/win95/CD_player.c rename to src/win95/cd_player.c diff --git a/3dc/win95/CD_player.h b/src/win95/cd_player.h similarity index 100% rename from 3dc/win95/CD_player.h rename to src/win95/cd_player.h diff --git a/3dc/win95/CHNKIMAG.CPP b/src/win95/chnkimag.cpp similarity index 100% rename from 3dc/win95/CHNKIMAG.CPP rename to src/win95/chnkimag.cpp diff --git a/3dc/win95/CHNKIMAG.HPP b/src/win95/chnkimag.hpp similarity index 100% rename from 3dc/win95/CHNKIMAG.HPP rename to src/win95/chnkimag.hpp diff --git a/3dc/win95/chnkload.cpp b/src/win95/chnkload.cpp similarity index 100% rename from 3dc/win95/chnkload.cpp rename to src/win95/chnkload.cpp diff --git a/3dc/win95/CHNKLOAD.H b/src/win95/chnkload.h similarity index 100% rename from 3dc/win95/CHNKLOAD.H rename to src/win95/chnkload.h diff --git a/3dc/win95/CHNKLOAD.HPP b/src/win95/chnkload.hpp similarity index 100% rename from 3dc/win95/CHNKLOAD.HPP rename to src/win95/chnkload.hpp diff --git a/3dc/win95/CHNKTEXI.CPP b/src/win95/chnktexi.cpp similarity index 100% rename from 3dc/win95/CHNKTEXI.CPP rename to src/win95/chnktexi.cpp diff --git a/3dc/win95/CHNKTEXI.H b/src/win95/chnktexi.h similarity index 100% rename from 3dc/win95/CHNKTEXI.H rename to src/win95/chnktexi.h diff --git a/3dc/win95/CHNKTYPE.CPP b/src/win95/chnktype.cpp similarity index 100% rename from 3dc/win95/CHNKTYPE.CPP rename to src/win95/chnktype.cpp diff --git a/3dc/win95/CHNKTYPE.HPP b/src/win95/chnktype.hpp similarity index 100% rename from 3dc/win95/CHNKTYPE.HPP rename to src/win95/chnktype.hpp diff --git a/3dc/win95/Chunk.cpp b/src/win95/chunk.cpp similarity index 100% rename from 3dc/win95/Chunk.cpp rename to src/win95/chunk.cpp diff --git a/3dc/win95/Chunk.hpp b/src/win95/chunk.hpp similarity index 100% rename from 3dc/win95/Chunk.hpp rename to src/win95/chunk.hpp diff --git a/3dc/win95/CHUNKPAL.CPP b/src/win95/chunkpal.cpp similarity index 100% rename from 3dc/win95/CHUNKPAL.CPP rename to src/win95/chunkpal.cpp diff --git a/3dc/win95/CHUNKPAL.HPP b/src/win95/chunkpal.hpp similarity index 100% rename from 3dc/win95/CHUNKPAL.HPP rename to src/win95/chunkpal.hpp diff --git a/3dc/win95/CL_INIT.CPP b/src/win95/cl_init.cpp similarity index 100% rename from 3dc/win95/CL_INIT.CPP rename to src/win95/cl_init.cpp diff --git a/3dc/win95/CL_INIT.H b/src/win95/cl_init.h similarity index 100% rename from 3dc/win95/CL_INIT.H rename to src/win95/cl_init.h diff --git a/3dc/win95/d3_func.cpp b/src/win95/d3_func.cpp similarity index 100% rename from 3dc/win95/d3_func.cpp rename to src/win95/d3_func.cpp diff --git a/3dc/win95/d3_func.h b/src/win95/d3_func.h similarity index 100% rename from 3dc/win95/d3_func.h rename to src/win95/d3_func.h diff --git a/3dc/win95/D3_IMAGE.CPP b/src/win95/d3_image.cpp similarity index 100% rename from 3dc/win95/D3_IMAGE.CPP rename to src/win95/d3_image.cpp diff --git a/3dc/win95/D3_IMAGE.HPP b/src/win95/d3_image.hpp similarity index 100% rename from 3dc/win95/D3_IMAGE.HPP rename to src/win95/d3_image.hpp diff --git a/3dc/win95/d3dmacs.h b/src/win95/d3dmacs.h similarity index 100% rename from 3dc/win95/d3dmacs.h rename to src/win95/d3dmacs.h diff --git a/3dc/win95/d3load.c b/src/win95/d3load.c similarity index 100% rename from 3dc/win95/d3load.c rename to src/win95/d3load.c diff --git a/3dc/win95/db.c b/src/win95/db.c similarity index 100% rename from 3dc/win95/db.c rename to src/win95/db.c diff --git a/3dc/win95/DB.H b/src/win95/db.h similarity index 100% rename from 3dc/win95/DB.H rename to src/win95/db.h diff --git a/3dc/win95/DD_FUNC.CPP b/src/win95/dd_func.cpp similarity index 100% rename from 3dc/win95/DD_FUNC.CPP rename to src/win95/dd_func.cpp diff --git a/3dc/win95/DEBUGLOG.CPP b/src/win95/debuglog.cpp similarity index 100% rename from 3dc/win95/DEBUGLOG.CPP rename to src/win95/debuglog.cpp diff --git a/3dc/win95/DEBUGLOG.H b/src/win95/debuglog.h similarity index 100% rename from 3dc/win95/DEBUGLOG.H rename to src/win95/debuglog.h diff --git a/3dc/win95/DEBUGLOG.HPP b/src/win95/debuglog.hpp similarity index 100% rename from 3dc/win95/DEBUGLOG.HPP rename to src/win95/debuglog.hpp diff --git a/3dc/win95/Di_func.cpp b/src/win95/di_func.cpp similarity index 100% rename from 3dc/win95/Di_func.cpp rename to src/win95/di_func.cpp diff --git a/3dc/win95/DummyObjectChunk.cpp b/src/win95/dummyobjectchunk.cpp similarity index 100% rename from 3dc/win95/DummyObjectChunk.cpp rename to src/win95/dummyobjectchunk.cpp diff --git a/3dc/win95/DummyObjectChunk.hpp b/src/win95/dummyobjectchunk.hpp similarity index 100% rename from 3dc/win95/DummyObjectChunk.hpp rename to src/win95/dummyobjectchunk.hpp diff --git a/3dc/win95/DXLOG.C b/src/win95/dxlog.c similarity index 100% rename from 3dc/win95/DXLOG.C rename to src/win95/dxlog.c diff --git a/3dc/win95/DXLOG.H b/src/win95/dxlog.h similarity index 100% rename from 3dc/win95/DXLOG.H rename to src/win95/dxlog.h diff --git a/3dc/win95/ENUMCHNK.CPP b/src/win95/enumchnk.cpp similarity index 100% rename from 3dc/win95/ENUMCHNK.CPP rename to src/win95/enumchnk.cpp diff --git a/3dc/win95/ENUMCHNK.HPP b/src/win95/enumchnk.hpp similarity index 100% rename from 3dc/win95/ENUMCHNK.HPP rename to src/win95/enumchnk.hpp diff --git a/3dc/win95/ENUMSCH.CPP b/src/win95/enumsch.cpp similarity index 100% rename from 3dc/win95/ENUMSCH.CPP rename to src/win95/enumsch.cpp diff --git a/3dc/win95/ENUMSCH.HPP b/src/win95/enumsch.hpp similarity index 100% rename from 3dc/win95/ENUMSCH.HPP rename to src/win95/enumsch.hpp diff --git a/3dc/win95/ENVCHUNK.CPP b/src/win95/envchunk.cpp similarity index 100% rename from 3dc/win95/ENVCHUNK.CPP rename to src/win95/envchunk.cpp diff --git a/3dc/win95/ENVCHUNK.HPP b/src/win95/envchunk.hpp similarity index 100% rename from 3dc/win95/ENVCHUNK.HPP rename to src/win95/envchunk.hpp diff --git a/3dc/win95/fail.c b/src/win95/fail.c similarity index 100% rename from 3dc/win95/fail.c rename to src/win95/fail.c diff --git a/3dc/win95/fail.h b/src/win95/fail.h similarity index 100% rename from 3dc/win95/fail.h rename to src/win95/fail.h diff --git a/3dc/win95/fragchnk.cpp b/src/win95/fragchnk.cpp similarity index 100% rename from 3dc/win95/fragchnk.cpp rename to src/win95/fragchnk.cpp diff --git a/3dc/win95/fragchnk.hpp b/src/win95/fragchnk.hpp similarity index 100% rename from 3dc/win95/fragchnk.hpp rename to src/win95/fragchnk.hpp diff --git a/3dc/win95/GSPRCHNK.CPP b/src/win95/gsprchnk.cpp similarity index 100% rename from 3dc/win95/GSPRCHNK.CPP rename to src/win95/gsprchnk.cpp diff --git a/3dc/win95/GSPRCHNK.HPP b/src/win95/gsprchnk.hpp similarity index 100% rename from 3dc/win95/GSPRCHNK.HPP rename to src/win95/gsprchnk.hpp diff --git a/3dc/win95/Hash_tem.hpp b/src/win95/hash_tem.hpp similarity index 100% rename from 3dc/win95/Hash_tem.hpp rename to src/win95/hash_tem.hpp diff --git a/3dc/win95/hierchnk.cpp b/src/win95/hierchnk.cpp similarity index 100% rename from 3dc/win95/hierchnk.cpp rename to src/win95/hierchnk.cpp diff --git a/3dc/win95/hierchnk.hpp b/src/win95/hierchnk.hpp similarity index 100% rename from 3dc/win95/hierchnk.hpp rename to src/win95/hierchnk.hpp diff --git a/3dc/win95/huffman.cpp b/src/win95/huffman.cpp similarity index 100% rename from 3dc/win95/huffman.cpp rename to src/win95/huffman.cpp diff --git a/3dc/win95/huffman.hpp b/src/win95/huffman.hpp similarity index 100% rename from 3dc/win95/huffman.hpp rename to src/win95/huffman.hpp diff --git a/3dc/win95/iff.cpp b/src/win95/iff.cpp similarity index 100% rename from 3dc/win95/iff.cpp rename to src/win95/iff.cpp diff --git a/3dc/win95/iff.hpp b/src/win95/iff.hpp similarity index 100% rename from 3dc/win95/iff.hpp rename to src/win95/iff.hpp diff --git a/3dc/win95/iff_ILBM.cpp b/src/win95/iff_ilbm.cpp similarity index 100% rename from 3dc/win95/iff_ILBM.cpp rename to src/win95/iff_ilbm.cpp diff --git a/3dc/win95/iff_ILBM.hpp b/src/win95/iff_ilbm.hpp similarity index 100% rename from 3dc/win95/iff_ILBM.hpp rename to src/win95/iff_ilbm.hpp diff --git a/3dc/win95/ILBM_ext.cpp b/src/win95/ilbm_ext.cpp similarity index 100% rename from 3dc/win95/ILBM_ext.cpp rename to src/win95/ilbm_ext.cpp diff --git a/3dc/win95/ILBM_ext.hpp b/src/win95/ilbm_ext.hpp similarity index 100% rename from 3dc/win95/ILBM_ext.hpp rename to src/win95/ilbm_ext.hpp diff --git a/3dc/win95/INLINE.H b/src/win95/inline.h similarity index 100% rename from 3dc/win95/INLINE.H rename to src/win95/inline.h diff --git a/3dc/win95/io.c b/src/win95/io.c similarity index 100% rename from 3dc/win95/io.c rename to src/win95/io.c diff --git a/3dc/win95/item.c b/src/win95/item.c similarity index 100% rename from 3dc/win95/item.c rename to src/win95/item.c diff --git a/3dc/win95/Krender.c b/src/win95/krender.c similarity index 100% rename from 3dc/win95/Krender.c rename to src/win95/krender.c diff --git a/3dc/win95/KRENDER.H b/src/win95/krender.h similarity index 100% rename from 3dc/win95/KRENDER.H rename to src/win95/krender.h diff --git a/3dc/win95/list_tem.cpp b/src/win95/list_tem.cpp similarity index 100% rename from 3dc/win95/list_tem.cpp rename to src/win95/list_tem.cpp diff --git a/3dc/win95/list_tem.hpp b/src/win95/list_tem.hpp similarity index 100% rename from 3dc/win95/list_tem.hpp rename to src/win95/list_tem.hpp diff --git a/3dc/win95/LTCHUNK.CPP b/src/win95/ltchunk.cpp similarity index 100% rename from 3dc/win95/LTCHUNK.CPP rename to src/win95/ltchunk.cpp diff --git a/3dc/win95/LTCHUNK.HPP b/src/win95/ltchunk.hpp similarity index 100% rename from 3dc/win95/LTCHUNK.HPP rename to src/win95/ltchunk.hpp diff --git a/3dc/win95/media.cpp b/src/win95/media.cpp similarity index 100% rename from 3dc/win95/media.cpp rename to src/win95/media.cpp diff --git a/3dc/win95/media.hpp b/src/win95/media.hpp similarity index 100% rename from 3dc/win95/media.hpp rename to src/win95/media.hpp diff --git a/3dc/win95/MISHCHNK.CPP b/src/win95/mishchnk.cpp similarity index 100% rename from 3dc/win95/MISHCHNK.CPP rename to src/win95/mishchnk.cpp diff --git a/3dc/win95/MISHCHNK.HPP b/src/win95/mishchnk.hpp similarity index 100% rename from 3dc/win95/MISHCHNK.HPP rename to src/win95/mishchnk.hpp diff --git a/3dc/win95/Mmx_math.asm b/src/win95/mmx_math.asm similarity index 100% rename from 3dc/win95/Mmx_math.asm rename to src/win95/mmx_math.asm diff --git a/3dc/win95/MMX_MATH.H b/src/win95/mmx_math.h similarity index 100% rename from 3dc/win95/MMX_MATH.H rename to src/win95/mmx_math.h diff --git a/3dc/win95/OBCHUNK.CPP b/src/win95/obchunk.cpp similarity index 100% rename from 3dc/win95/OBCHUNK.CPP rename to src/win95/obchunk.cpp diff --git a/3dc/win95/OBCHUNK.HPP b/src/win95/obchunk.hpp similarity index 100% rename from 3dc/win95/OBCHUNK.HPP rename to src/win95/obchunk.hpp diff --git a/3dc/win95/objedit.h b/src/win95/objedit.h similarity index 100% rename from 3dc/win95/objedit.h rename to src/win95/objedit.h diff --git a/3dc/win95/OEChunk.cpp b/src/win95/oechunk.cpp similarity index 100% rename from 3dc/win95/OEChunk.cpp rename to src/win95/oechunk.cpp diff --git a/3dc/win95/OEChunk.h b/src/win95/oechunk.h similarity index 100% rename from 3dc/win95/OEChunk.h rename to src/win95/oechunk.h diff --git a/3dc/win95/OUR_MEM.C b/src/win95/our_mem.c similarity index 100% rename from 3dc/win95/OUR_MEM.C rename to src/win95/our_mem.c diff --git a/3dc/win95/OURASERT.H b/src/win95/ourasert.h similarity index 100% rename from 3dc/win95/OURASERT.H rename to src/win95/ourasert.h diff --git a/3dc/win95/PENTIME.H b/src/win95/pentime.h similarity index 100% rename from 3dc/win95/PENTIME.H rename to src/win95/pentime.h diff --git a/3dc/win95/plat_shp.c b/src/win95/plat_shp.c similarity index 100% rename from 3dc/win95/plat_shp.c rename to src/win95/plat_shp.c diff --git a/3dc/win95/plat_shp.h b/src/win95/plat_shp.h similarity index 100% rename from 3dc/win95/plat_shp.h rename to src/win95/plat_shp.h diff --git a/3dc/win95/platform.h b/src/win95/platform.h similarity index 100% rename from 3dc/win95/platform.h rename to src/win95/platform.h diff --git a/3dc/win95/plspecfn.c b/src/win95/plspecfn.c similarity index 100% rename from 3dc/win95/plspecfn.c rename to src/win95/plspecfn.c diff --git a/3dc/win95/RAD.H b/src/win95/rad.h similarity index 100% rename from 3dc/win95/RAD.H rename to src/win95/rad.h diff --git a/3dc/win95/SCANDRAW.ASM b/src/win95/scandraw.asm similarity index 100% rename from 3dc/win95/SCANDRAW.ASM rename to src/win95/scandraw.asm diff --git a/3dc/win95/ShowCmds.h b/src/win95/showcmds.h similarity index 100% rename from 3dc/win95/ShowCmds.h rename to src/win95/showcmds.h diff --git a/3dc/win95/shpanim.h b/src/win95/shpanim.h similarity index 100% rename from 3dc/win95/shpanim.h rename to src/win95/shpanim.h diff --git a/3dc/win95/SHPCHUNK.CPP b/src/win95/shpchunk.cpp similarity index 100% rename from 3dc/win95/SHPCHUNK.CPP rename to src/win95/shpchunk.cpp diff --git a/3dc/win95/SHPCHUNK.HPP b/src/win95/shpchunk.hpp similarity index 100% rename from 3dc/win95/SHPCHUNK.HPP rename to src/win95/shpchunk.hpp diff --git a/3dc/win95/SMSOPT.H b/src/win95/smsopt.h similarity index 100% rename from 3dc/win95/SMSOPT.H rename to src/win95/smsopt.h diff --git a/3dc/win95/SNDCHUNK.CPP b/src/win95/sndchunk.cpp similarity index 100% rename from 3dc/win95/SNDCHUNK.CPP rename to src/win95/sndchunk.cpp diff --git a/3dc/win95/SNDCHUNK.HPP b/src/win95/sndchunk.hpp similarity index 100% rename from 3dc/win95/SNDCHUNK.HPP rename to src/win95/sndchunk.hpp diff --git a/3dc/win95/Sprchunk.cpp b/src/win95/sprchunk.cpp similarity index 100% rename from 3dc/win95/Sprchunk.cpp rename to src/win95/sprchunk.cpp diff --git a/3dc/win95/Sprchunk.hpp b/src/win95/sprchunk.hpp similarity index 100% rename from 3dc/win95/Sprchunk.hpp rename to src/win95/sprchunk.hpp diff --git a/3dc/win95/STRING.CPP b/src/win95/string.cpp similarity index 100% rename from 3dc/win95/STRING.CPP rename to src/win95/string.cpp diff --git a/3dc/win95/STRING.HPP b/src/win95/string.hpp similarity index 100% rename from 3dc/win95/STRING.HPP rename to src/win95/string.hpp diff --git a/3dc/win95/TEXIO.C b/src/win95/texio.c similarity index 100% rename from 3dc/win95/TEXIO.C rename to src/win95/texio.c diff --git a/3dc/win95/TOOLCHNK.CPP b/src/win95/toolchnk.cpp similarity index 100% rename from 3dc/win95/TOOLCHNK.CPP rename to src/win95/toolchnk.cpp diff --git a/3dc/win95/TOOLCHNK.HPP b/src/win95/toolchnk.hpp similarity index 100% rename from 3dc/win95/TOOLCHNK.HPP rename to src/win95/toolchnk.hpp diff --git a/3dc/win95/TXIOCTRL.CPP b/src/win95/txioctrl.cpp similarity index 100% rename from 3dc/win95/TXIOCTRL.CPP rename to src/win95/txioctrl.cpp diff --git a/3dc/win95/TXIOCTRL.H b/src/win95/txioctrl.h similarity index 100% rename from 3dc/win95/TXIOCTRL.H rename to src/win95/txioctrl.h diff --git a/3dc/win95/VideoModes.cpp b/src/win95/videomodes.cpp similarity index 100% rename from 3dc/win95/VideoModes.cpp rename to src/win95/videomodes.cpp diff --git a/3dc/win95/VideoModes.h b/src/win95/videomodes.h similarity index 100% rename from 3dc/win95/VideoModes.h rename to src/win95/videomodes.h diff --git a/3dc/win95/VRAMTIME.C b/src/win95/vramtime.c similarity index 100% rename from 3dc/win95/VRAMTIME.C rename to src/win95/vramtime.c diff --git a/3dc/win95/VRAMTIME.H b/src/win95/vramtime.h similarity index 100% rename from 3dc/win95/VRAMTIME.H rename to src/win95/vramtime.h diff --git a/3dc/win95/win_func.cpp b/src/win95/win_func.cpp similarity index 100% rename from 3dc/win95/win_func.cpp rename to src/win95/win_func.cpp diff --git a/3dc/win95/wpchunk.cpp b/src/win95/wpchunk.cpp similarity index 100% rename from 3dc/win95/wpchunk.cpp rename to src/win95/wpchunk.cpp diff --git a/3dc/win95/wpchunk.hpp b/src/win95/wpchunk.hpp similarity index 100% rename from 3dc/win95/wpchunk.hpp rename to src/win95/wpchunk.hpp diff --git a/3dc/win95/zbuffer.c b/src/win95/zbuffer.c similarity index 100% rename from 3dc/win95/zbuffer.c rename to src/win95/zbuffer.c diff --git a/3dc/win95/ZMOUSE.H b/src/win95/zmouse.h similarity index 100% rename from 3dc/win95/ZMOUSE.H rename to src/win95/zmouse.h diff --git a/3dc/win95/Zsp.cpp b/src/win95/zsp.cpp similarity index 100% rename from 3dc/win95/Zsp.cpp rename to src/win95/zsp.cpp diff --git a/3dc/win95/Zsp.hpp b/src/win95/zsp.hpp similarity index 100% rename from 3dc/win95/Zsp.hpp rename to src/win95/zsp.hpp diff --git a/wat_release/avp.tgt b/wat_release/avp.tgt deleted file mode 100644 index 2849520..0000000 --- a/wat_release/avp.tgt +++ /dev/null @@ -1,4955 +0,0 @@ -40 -targetIdent -0 -MProject -1 -MComponent -0 -2 -WString -4 -NEXE -3 -WString -5 -nw2e9 -1 -0 -1 -4 -MCommand -0 -5 -MCommand -0 -6 -MItem -7 -avp.exe -7 -WString -4 -NEXE -8 -WVList -6 -9 -MRState -10 -WString -7 -WINLINK -11 -WString -25 -?????No debug information -1 -1 -12 -MRState -13 -WString -7 -WINLINK -14 -WString -14 -?????Debug All -1 -0 -15 -MCState -16 -WString -7 -WINLINK -17 -WString -24 -?????Incremental Linking -1 -0 -18 -MVState -19 -WString -7 -WINLINK -20 -WString -28 -?????Library directories(;): -1 -21 -WString -24 -c:\Dx6sdk\lib;c:\avp\3dc -0 -22 -MVState -23 -WString -7 -WINLINK -24 -WString -18 -?????Libraries(,): -1 -25 -WString -43 -ddraw,dsound,dplayx,dinput,smackw32,binkw32 -0 -26 -MCState -27 -WString -7 -WINLINK -28 -WString -24 -?????Eliminate dead code -1 -1 -29 -WVList -0 --1 -1 -1 -0 -30 -WPickList -237 -31 -MItem -5 -*.asm -32 -WString -6 -ASMOBJ -33 -WVList -0 -34 -WVList -0 --1 -1 -1 -0 -35 -MItem -25 -..\3dc\win95\mmx_math.asm -36 -WString -6 -ASMOBJ -37 -WVList -0 -38 -WVList -0 -31 -1 -1 -0 -39 -MItem -3 -*.c -40 -WString -4 -COBJ -41 -WVList -23 -42 -MVState -43 -WString -3 -WCC -44 -WString -25 -n????Include directories: -1 -45 -WString -177 -c:\Dx6sdk\include;c:\watcom\h\nt;c:\watcom\h;..\3dc\avp;..\3dc\win95;..\3dc\include;..\3dc\avp\win95;..\3dc\avp\support;..\3dc\avp\win95\gadgets;..\3dc\avp\win95\frontend;..\3dc -0 -46 -MCState -47 -WString -3 -WCC -48 -WString -33 -?????Disable stack depth checking -1 -1 -49 -MVState -50 -WString -3 -WCC -51 -WString -23 -?????Macro definitions: -1 -52 -WString -22 -_WIN32 WIN32 engine=1 -0 -53 -MCState -54 -WString -3 -WCC -55 -WString -31 -?????Force enums to be type int -1 -1 -56 -MRState -57 -WString -3 -WCC -58 -WString -20 -?????Pack structures -1 -0 -59 -MRState -60 -WString -3 -WCC -61 -WString -21 -?????8 byte alignment -1 -1 -62 -MRState -63 -WString -3 -WCC -64 -WString -21 -?????No optimizations -1 -0 -65 -MRState -66 -WString -3 -WCC -67 -WString -26 -?????Fastest possible code -1 -1 -68 -MCState -69 -WString -3 -WCC -70 -WString -23 -?????Loop optimizations -1 -1 -71 -MCState -72 -WString -3 -WCC -73 -WString -19 -?????Loop unrolling -1 -1 -74 -MCState -75 -WString -3 -WCC -76 -WString -23 -?????Math optimizations -1 -1 -77 -MCState -78 -WString -3 -WCC -79 -WString -32 -?????In-line intrinsic functions -1 -1 -80 -MCState -81 -WString -3 -WCC -82 -WString -25 -?????Relax alias checking -1 -1 -83 -MCState -84 -WString -3 -WCC -85 -WString -27 -?????Instruction scheduling -1 -1 -86 -MVState -87 -WString -3 -WCC -88 -WString -29 -?????Expand function in-line: -1 -89 -WString -2 -20 -1 -90 -MRState -91 -WString -3 -WCC -92 -WString -29 -?????No debugging information -1 -1 -93 -MRState -94 -WString -3 -WCC -95 -WString -24 -?????Full debugging info -1 -0 -96 -MRState -97 -WString -3 -WCC -98 -WString -21 -?????Compiler default -1 -0 -99 -MCState -100 -WString -3 -WCC -101 -WString -30 -n????Multithreaded application -1 -1 -102 -MRState -103 -WString -3 -WCC -104 -WString -21 -?????Compiler default -1 -0 -105 -MRState -106 -WString -3 -WCC -107 -WString -33 -?????In-line Pentium instructions -1 -1 -108 -MRState -109 -WString -3 -WCC -110 -WString -21 -?????Compiler default -1 -0 -111 -MRState -112 -WString -3 -WCC -113 -WString -29 -?????In-line with coprocessor -1 -1 -114 -WVList -0 --1 -1 -0 -0 -115 -MItem -14 -..\3dc\afont.c -116 -WString -4 -COBJ -117 -WVList -0 -118 -WVList -0 -39 -1 -1 -0 -119 -MItem -21 -..\3dc\avp\ai_sight.c -120 -WString -4 -COBJ -121 -WVList -0 -122 -WVList -0 -39 -1 -1 -0 -123 -MItem -20 -..\3dc\avp\avpview.c -124 -WString -4 -COBJ -125 -WVList -0 -126 -WVList -0 -39 -1 -1 -0 -127 -MItem -20 -..\3dc\avp\bh_agun.c -128 -WString -4 -COBJ -129 -WVList -0 -130 -WVList -0 -39 -1 -1 -0 -131 -MItem -19 -..\3dc\avp\bh_ais.c -132 -WString -4 -COBJ -133 -WVList -0 -134 -WVList -0 -39 -1 -1 -0 -135 -MItem -21 -..\3dc\avp\bh_alien.c -136 -WString -4 -COBJ -137 -WVList -0 -138 -WVList -0 -39 -1 -1 -0 -139 -MItem -21 -..\3dc\avp\bh_binsw.c -140 -WString -4 -COBJ -141 -WVList -0 -142 -WVList -0 -39 -1 -1 -0 -143 -MItem -21 -..\3dc\avp\bh_cable.c -144 -WString -4 -COBJ -145 -WVList -0 -146 -WVList -0 -39 -1 -1 -0 -147 -MItem -22 -..\3dc\avp\bh_corpse.c -148 -WString -4 -COBJ -149 -WVList -0 -150 -WVList -0 -39 -1 -1 -0 -151 -MItem -24 -..\3dc\avp\bh_deathvol.c -152 -WString -4 -COBJ -153 -WVList -0 -154 -WVList -0 -39 -1 -1 -0 -155 -MItem -21 -..\3dc\avp\bh_debri.c -156 -WString -4 -COBJ -157 -WVList -0 -158 -WVList -0 -39 -1 -1 -0 -159 -MItem -21 -..\3dc\avp\bh_dummy.c -160 -WString -4 -COBJ -161 -WVList -0 -162 -WVList -0 -39 -1 -1 -0 -163 -MItem -19 -..\3dc\avp\bh_fan.c -164 -WString -4 -COBJ -165 -WVList -0 -166 -WVList -0 -39 -1 -1 -0 -167 -MItem -19 -..\3dc\avp\bh_far.c -168 -WString -4 -COBJ -169 -WVList -0 -170 -WVList -0 -39 -1 -1 -0 -171 -MItem -20 -..\3dc\avp\bh_fhug.c -172 -WString -4 -COBJ -173 -WVList -0 -174 -WVList -0 -39 -1 -1 -0 -175 -MItem -21 -..\3dc\avp\bh_gener.c -176 -WString -4 -COBJ -177 -WVList -0 -178 -WVList -0 -39 -1 -1 -0 -179 -MItem -21 -..\3dc\avp\bh_ldoor.c -180 -WString -4 -COBJ -181 -WVList -0 -182 -WVList -0 -39 -1 -1 -0 -183 -MItem -20 -..\3dc\avp\bh_lift.c -184 -WString -4 -COBJ -185 -WVList -0 -186 -WVList -0 -39 -1 -1 -0 -187 -MItem -21 -..\3dc\avp\bh_light.c -188 -WString -4 -COBJ -189 -WVList -0 -190 -WVList -0 -39 -1 -1 -0 -191 -MItem -21 -..\3dc\avp\bh_lnksw.c -192 -WString -4 -COBJ -193 -WVList -0 -194 -WVList -0 -39 -1 -1 -0 -195 -MItem -20 -..\3dc\avp\bh_ltfx.c -196 -WString -4 -COBJ -197 -WVList -0 -198 -WVList -0 -39 -1 -1 -0 -199 -MItem -21 -..\3dc\avp\bh_marin.c -200 -WString -4 -COBJ -201 -WVList -0 -202 -WVList -0 -39 -1 -1 -0 -203 -MItem -23 -..\3dc\avp\bh_mission.c -204 -WString -4 -COBJ -205 -WVList -0 -206 -WVList -0 -39 -1 -1 -0 -207 -MItem -20 -..\3dc\avp\bh_near.c -208 -WString -4 -COBJ -209 -WVList -0 -210 -WVList -0 -39 -1 -1 -0 -211 -MItem -22 -..\3dc\avp\bh_pargen.c -212 -WString -4 -COBJ -213 -WVList -0 -214 -WVList -0 -39 -1 -1 -0 -215 -MItem -24 -..\3dc\avp\bh_plachier.c -216 -WString -4 -COBJ -217 -WVList -0 -218 -WVList -0 -39 -1 -1 -0 -219 -MItem -21 -..\3dc\avp\bh_plift.c -220 -WString -4 -COBJ -221 -WVList -0 -222 -WVList -0 -39 -1 -1 -0 -223 -MItem -20 -..\3dc\avp\bh_pred.c -224 -WString -4 -COBJ -225 -WVList -0 -226 -WVList -0 -39 -1 -1 -0 -227 -MItem -21 -..\3dc\avp\bh_queen.c -228 -WString -4 -COBJ -229 -WVList -0 -230 -WVList -0 -39 -1 -1 -0 -231 -MItem -26 -..\3dc\avp\bh_rubberduck.c -232 -WString -4 -COBJ -233 -WVList -0 -234 -WVList -0 -39 -1 -1 -0 -235 -MItem -24 -..\3dc\avp\bh_selfdest.c -236 -WString -4 -COBJ -237 -WVList -0 -238 -WVList -0 -39 -1 -1 -0 -239 -MItem -20 -..\3dc\avp\bh_snds.c -240 -WString -4 -COBJ -241 -WVList -0 -242 -WVList -0 -39 -1 -1 -0 -243 -MItem -20 -..\3dc\avp\bh_spcl.c -244 -WString -4 -COBJ -245 -WVList -0 -246 -WVList -0 -39 -1 -1 -0 -247 -MItem -21 -..\3dc\avp\bh_swdor.c -248 -WString -4 -COBJ -249 -WVList -0 -250 -WVList -0 -39 -1 -1 -0 -251 -MItem -21 -..\3dc\avp\bh_track.c -252 -WString -4 -COBJ -253 -WVList -0 -254 -WVList -0 -39 -1 -1 -0 -255 -MItem -21 -..\3dc\avp\bh_types.c -256 -WString -4 -COBJ -257 -WVList -0 -258 -WVList -0 -39 -1 -1 -0 -259 -MItem -27 -..\3dc\avp\bh_videoscreen.c -260 -WString -4 -COBJ -261 -WVList -0 -262 -WVList -0 -39 -1 -1 -0 -263 -MItem -21 -..\3dc\avp\bh_waypt.c -264 -WString -4 -COBJ -265 -WVList -0 -266 -WVList -0 -39 -1 -1 -0 -267 -MItem -20 -..\3dc\avp\bh_weap.c -268 -WString -4 -COBJ -269 -WVList -0 -270 -WVList -0 -39 -1 -1 -0 -271 -MItem -20 -..\3dc\avp\bh_xeno.c -272 -WString -4 -COBJ -273 -WVList -0 -274 -WVList -0 -39 -1 -1 -0 -275 -MItem -27 -..\3dc\avp\bonusabilities.c -276 -WString -4 -COBJ -277 -WVList -0 -278 -WVList -0 -39 -1 -1 -0 -279 -MItem -23 -..\3dc\avp\cheatmodes.c -280 -WString -4 -COBJ -281 -WVList -0 -282 -WVList -0 -39 -1 -1 -0 -283 -MItem -21 -..\3dc\avp\comp_map.c -284 -WString -4 -COBJ -285 -WVList -0 -286 -WVList -0 -39 -1 -1 -0 -287 -MItem -21 -..\3dc\avp\comp_shp.c -288 -WString -4 -COBJ -289 -WVList -0 -290 -WVList -0 -39 -1 -1 -0 -291 -MItem -19 -..\3dc\avp\deaths.c -292 -WString -4 -COBJ -293 -WVList -0 -294 -WVList -0 -39 -1 -1 -0 -295 -MItem -18 -..\3dc\avp\decal.c -296 -WString -4 -COBJ -297 -WVList -0 -298 -WVList -0 -39 -1 -1 -0 -299 -MItem -25 -..\3dc\avp\detaillevels.c -300 -WString -4 -COBJ -301 -WVList -0 -302 -WVList -0 -39 -1 -1 -0 -303 -MItem -21 -..\3dc\avp\dynamics.c -304 -WString -4 -COBJ -305 -WVList -0 -306 -WVList -0 -39 -1 -1 -0 -307 -MItem -21 -..\3dc\avp\dynblock.c -308 -WString -4 -COBJ -309 -WVList -0 -310 -WVList -0 -39 -1 -1 -0 -311 -MItem -21 -..\3dc\avp\equipmnt.c -312 -WString -4 -COBJ -313 -WVList -0 -314 -WVList -0 -39 -1 -1 -0 -315 -MItem -20 -..\3dc\avp\extents.c -316 -WString -4 -COBJ -317 -WVList -0 -318 -WVList -0 -39 -1 -1 -0 -319 -MItem -17 -..\3dc\avp\game.c -320 -WString -4 -COBJ -321 -WVList -0 -322 -WVList -0 -39 -1 -1 -0 -323 -MItem -28 -..\3dc\avp\game_statistics.c -324 -WString -4 -COBJ -325 -WVList -0 -326 -WVList -0 -39 -1 -1 -0 -327 -MItem -21 -..\3dc\avp\gameflow.c -328 -WString -4 -COBJ -329 -WVList -0 -330 -WVList -0 -39 -1 -1 -0 -331 -MItem -19 -..\3dc\avp\hmodel.c -332 -WString -4 -COBJ -333 -WVList -0 -334 -WVList -0 -39 -1 -1 -0 -335 -MItem -16 -..\3dc\avp\hud.c -336 -WString -4 -COBJ -337 -WVList -0 -338 -WVList -0 -39 -1 -1 -0 -339 -MItem -21 -..\3dc\avp\inventry.c -340 -WString -4 -COBJ -341 -WVList -0 -342 -WVList -0 -39 -1 -1 -0 -343 -MItem -21 -..\3dc\avp\language.c -344 -WString -4 -COBJ -345 -WVList -0 -346 -WVList -0 -39 -1 -1 -0 -347 -MItem -21 -..\3dc\avp\lighting.c -348 -WString -4 -COBJ -349 -WVList -0 -350 -WVList -0 -39 -1 -1 -0 -351 -MItem -16 -..\3dc\avp\los.c -352 -WString -4 -COBJ -353 -WVList -0 -354 -WVList -0 -39 -1 -1 -0 -355 -MItem -20 -..\3dc\avp\mempool.c -356 -WString -4 -COBJ -357 -WVList -0 -358 -WVList -0 -39 -1 -1 -0 -359 -MItem -27 -..\3dc\avp\messagehistory.c -360 -WString -4 -COBJ -361 -WVList -0 -362 -WVList -0 -39 -1 -1 -0 -363 -MItem -21 -..\3dc\avp\movement.c -364 -WString -4 -COBJ -365 -WVList -0 -366 -WVList -0 -39 -1 -1 -0 -367 -MItem -22 -..\3dc\avp\mp_launch.c -368 -WString -4 -COBJ -369 -WVList -0 -370 -WVList -0 -39 -1 -1 -0 -371 -MItem -22 -..\3dc\avp\paintball.c -372 -WString -4 -COBJ -373 -WVList -0 -374 -WVList -0 -39 -1 -1 -0 -375 -MItem -21 -..\3dc\avp\particle.c -376 -WString -4 -COBJ -377 -WVList -0 -378 -WVList -0 -39 -1 -1 -0 -379 -MItem -21 -..\3dc\avp\pfarlocs.c -380 -WString -4 -COBJ -381 -WVList -0 -382 -WVList -0 -39 -1 -1 -0 -383 -MItem -21 -..\3dc\avp\pheromon.c -384 -WString -4 -COBJ -385 -WVList -0 -386 -WVList -0 -39 -1 -1 -0 -387 -MItem -19 -..\3dc\avp\player.c -388 -WString -4 -COBJ -389 -WVList -0 -390 -WVList -0 -39 -1 -1 -0 -391 -MItem -18 -..\3dc\avp\pmove.c -392 -WString -4 -COBJ -393 -WVList -0 -394 -WVList -0 -39 -1 -1 -0 -395 -MItem -17 -..\3dc\avp\psnd.c -396 -WString -4 -COBJ -397 -WVList -0 -398 -WVList -0 -39 -1 -1 -0 -399 -MItem -21 -..\3dc\avp\psndproj.c -400 -WString -4 -COBJ -401 -WVList -0 -402 -WVList -0 -39 -1 -1 -0 -403 -MItem -21 -..\3dc\avp\pvisible.c -404 -WString -4 -COBJ -405 -WVList -0 -406 -WVList -0 -39 -1 -1 -0 -407 -MItem -21 -..\3dc\avp\savegame.c -408 -WString -4 -COBJ -409 -WVList -0 -410 -WVList -0 -39 -1 -1 -0 -411 -MItem -21 -..\3dc\avp\secstats.c -412 -WString -4 -COBJ -413 -WVList -0 -414 -WVList -0 -39 -1 -1 -0 -415 -MItem -16 -..\3dc\avp\sfx.c -416 -WString -4 -COBJ -417 -WVList -0 -418 -WVList -0 -39 -1 -1 -0 -419 -MItem -24 -..\3dc\avp\shapes\cube.c -420 -WString -4 -COBJ -421 -WVList -0 -422 -WVList -0 -39 -1 -1 -0 -423 -MItem -21 -..\3dc\avp\stratdef.c -424 -WString -4 -COBJ -425 -WVList -0 -426 -WVList -0 -39 -1 -1 -0 -427 -MItem -28 -..\3dc\avp\support\strutil.c -428 -WString -4 -COBJ -429 -WVList -0 -430 -WVList -0 -39 -1 -1 -0 -431 -MItem -22 -..\3dc\avp\targeting.c -432 -WString -4 -COBJ -433 -WVList -0 -434 -WVList -0 -39 -1 -1 -0 -435 -MItem -18 -..\3dc\avp\track.c -436 -WString -4 -COBJ -437 -WVList -0 -438 -WVList -0 -39 -1 -1 -0 -439 -MItem -21 -..\3dc\avp\triggers.c -440 -WString -4 -COBJ -441 -WVList -0 -442 -WVList -0 -39 -1 -1 -0 -443 -MItem -20 -..\3dc\avp\weapons.c -444 -WString -4 -COBJ -445 -WVList -0 -446 -WVList -0 -39 -1 -1 -0 -447 -MItem -24 -..\3dc\avp\win95\cheat.c -448 -WString -4 -COBJ -449 -WVList -0 -450 -WVList -0 -39 -1 -1 -0 -451 -MItem -29 -..\3dc\avp\win95\directplay.c -452 -WString -4 -COBJ -453 -WVList -0 -454 -WVList -0 -39 -1 -1 -0 -455 -MItem -26 -..\3dc\avp\win95\dp_func.c -456 -WString -4 -COBJ -457 -WVList -0 -458 -WVList -0 -39 -1 -1 -0 -459 -MItem -27 -..\3dc\avp\win95\dplayext.c -460 -WString -4 -COBJ -461 -WVList -0 -462 -WVList -0 -39 -1 -1 -0 -463 -MItem -27 -..\3dc\avp\win95\endianio.c -464 -WString -4 -COBJ -465 -WVList -0 -466 -WVList -0 -39 -1 -1 -0 -467 -MItem -39 -..\3dc\avp\win95\frontend\avp_envinfo.c -468 -WString -4 -COBJ -469 -WVList -0 -470 -WVList -0 -39 -1 -1 -0 -471 -MItem -40 -..\3dc\avp\win95\frontend\avp_menudata.c -472 -WString -4 -COBJ -473 -WVList -0 -474 -WVList -0 -39 -1 -1 -0 -475 -MItem -37 -..\3dc\avp\win95\frontend\avp_menus.c -476 -WString -4 -COBJ -477 -WVList -0 -478 -WVList -0 -39 -1 -1 -0 -479 -MItem -27 -..\3dc\avp\win95\gflwplat.c -480 -WString -4 -COBJ -481 -WVList -0 -482 -WVList -0 -39 -1 -1 -0 -483 -MItem -25 -..\3dc\avp\win95\kzsort.c -484 -WString -4 -COBJ -485 -WVList -0 -486 -WVList -0 -39 -1 -1 -0 -487 -MItem -27 -..\3dc\avp\win95\langplat.c -488 -WString -4 -COBJ -489 -WVList -0 -490 -WVList -0 -39 -1 -1 -0 -491 -MItem -26 -..\3dc\avp\win95\platsup.c -492 -WString -4 -COBJ -493 -WVList -0 -494 -WVList -0 -39 -1 -1 -0 -495 -MItem -27 -..\3dc\avp\win95\pldghost.c -496 -WString -4 -COBJ -497 -WVList -0 -498 -WVList -0 -39 -1 -1 -0 -499 -MItem -25 -..\3dc\avp\win95\pldnet.c -500 -WString -4 -COBJ -501 -WVList -0 -502 -WVList -0 -39 -1 -1 -0 -503 -MItem -27 -..\3dc\avp\win95\psndplat.c -504 -WString -4 -COBJ -505 -WVList -0 -506 -WVList -0 -39 -1 -1 -0 -507 -MItem -25 -..\3dc\avp\win95\system.c -508 -WString -4 -COBJ -509 -WVList -0 -510 -WVList -0 -39 -1 -1 -0 -511 -MItem -25 -..\3dc\avp\win95\usr_io.c -512 -WString -4 -COBJ -513 -WVList -0 -514 -WVList -0 -39 -1 -1 -0 -515 -MItem -25 -..\3dc\avp\win95\vision.c -516 -WString -4 -COBJ -517 -WVList -0 -518 -WVList -0 -39 -1 -1 -0 -519 -MItem -26 -..\3dc\avp\win95\winmain.c -520 -WString -4 -COBJ -521 -WVList -0 -522 -WVList -0 -39 -1 -1 -0 -523 -MItem -17 -..\3dc\frustrum.c -524 -WString -4 -COBJ -525 -WVList -0 -526 -WVList -0 -39 -1 -1 -0 -527 -MItem -15 -..\3dc\kshape.c -528 -WString -4 -COBJ -529 -WVList -0 -530 -WVList -0 -39 -1 -1 -0 -531 -MItem -12 -..\3dc\map.c -532 -WString -4 -COBJ -533 -WVList -0 -534 -WVList -0 -39 -1 -1 -0 -535 -MItem -14 -..\3dc\maths.c -536 -WString -4 -COBJ -537 -WVList -0 -538 -WVList -0 -39 -1 -1 -0 -539 -MItem -15 -..\3dc\mem3dc.c -540 -WString -4 -COBJ -541 -WVList -0 -542 -WVList -0 -39 -1 -1 -0 -543 -MItem -15 -..\3dc\module.c -544 -WString -4 -COBJ -545 -WVList -0 -546 -WVList -0 -39 -1 -1 -0 -547 -MItem -14 -..\3dc\morph.c -548 -WString -4 -COBJ -549 -WVList -0 -550 -WVList -0 -39 -1 -1 -0 -551 -MItem -16 -..\3dc\mslhand.c -552 -WString -4 -COBJ -553 -WVList -0 -554 -WVList -0 -39 -1 -1 -0 -555 -MItem -15 -..\3dc\object.c -556 -WString -4 -COBJ -557 -WVList -0 -558 -WVList -0 -39 -1 -1 -0 -559 -MItem -16 -..\3dc\shpanim.c -560 -WString -4 -COBJ -561 -WVList -0 -562 -WVList -0 -39 -1 -1 -0 -563 -MItem -15 -..\3dc\sphere.c -564 -WString -4 -COBJ -565 -WVList -0 -566 -WVList -0 -39 -1 -1 -0 -567 -MItem -15 -..\3dc\tables.c -568 -WString -4 -COBJ -569 -WVList -0 -570 -WVList -0 -39 -1 -1 -0 -571 -MItem -12 -..\3dc\vdb.c -572 -WString -4 -COBJ -573 -WVList -0 -574 -WVList -0 -39 -1 -1 -0 -575 -MItem -16 -..\3dc\version.c -576 -WString -4 -COBJ -577 -WVList -0 -578 -WVList -0 -39 -1 -1 -0 -579 -MItem -19 -..\3dc\win95\bink.c -580 -WString -4 -COBJ -581 -WVList -0 -582 -WVList -0 -39 -1 -1 -0 -583 -MItem -24 -..\3dc\win95\cd_player.c -584 -WString -4 -COBJ -585 -WVList -0 -586 -WVList -0 -39 -1 -1 -0 -587 -MItem -17 -..\3dc\win95\db.c -588 -WString -4 -COBJ -589 -WVList -0 -590 -WVList -0 -39 -1 -1 -0 -591 -MItem -20 -..\3dc\win95\dxlog.c -592 -WString -4 -COBJ -593 -WVList -0 -594 -WVList -0 -39 -1 -1 -0 -595 -MItem -19 -..\3dc\win95\fail.c -596 -WString -4 -COBJ -597 -WVList -0 -598 -WVList -0 -39 -1 -1 -0 -599 -MItem -17 -..\3dc\win95\io.c -600 -WString -4 -COBJ -601 -WVList -0 -602 -WVList -0 -39 -1 -1 -0 -603 -MItem -18 -..\3dc\win95\md5.c -604 -WString -4 -COBJ -605 -WVList -0 -606 -WVList -0 -39 -1 -1 -0 -607 -MItem -22 -..\3dc\win95\our_mem.c -608 -WString -4 -COBJ -609 -WVList -0 -610 -WVList -0 -39 -1 -1 -0 -611 -MItem -23 -..\3dc\win95\plat_shp.c -612 -WString -4 -COBJ -613 -WVList -0 -614 -WVList -0 -39 -1 -1 -0 -615 -MItem -23 -..\3dc\win95\plspecfn.c -616 -WString -4 -COBJ -617 -WVList -0 -618 -WVList -0 -39 -1 -1 -0 -619 -MItem -22 -..\3dc\win95\smacker.c -620 -WString -4 -COBJ -621 -WVList -0 -622 -WVList -0 -39 -1 -1 -0 -623 -MItem -20 -..\3dc\win95\texio.c -624 -WString -4 -COBJ -625 -WVList -0 -626 -WVList -0 -39 -1 -1 -0 -627 -MItem -23 -..\3dc\win95\vramtime.c -628 -WString -4 -COBJ -629 -WVList -0 -630 -WVList -0 -39 -1 -1 -0 -631 -MItem -5 -*.cpp -632 -WString -6 -CPPOBJ -633 -WVList -22 -634 -MVState -635 -WString -3 -WPP -636 -WString -25 -n????Include directories: -1 -637 -WString -177 -c:\Dx6sdk\include;c:\watcom\h\nt;c:\watcom\h;..\3dc\avp;..\3dc\win95;..\3dc\include;..\3dc\avp\win95;..\3dc\avp\support;..\3dc\avp\win95\gadgets;..\3dc\avp\win95\frontend;..\3dc -0 -638 -MVState -639 -WString -3 -WPP -640 -WString -23 -?????Macro definitions: -1 -641 -WString -31 -_WIN32 WIN32 engine=1 __STDC__ -0 -642 -MCState -643 -WString -3 -WPP -644 -WString -31 -?????Force enums to be type int -1 -1 -645 -MRState -646 -WString -3 -WPP -647 -WString -20 -?????Pack structures -1 -0 -648 -MRState -649 -WString -3 -WPP -650 -WString -21 -?????8 byte alignment -1 -1 -651 -MRState -652 -WString -3 -WPP -653 -WString -21 -?????No optimizations -1 -0 -654 -MRState -655 -WString -3 -WPP -656 -WString -26 -?????Fastest possible code -1 -1 -657 -MCState -658 -WString -3 -WPP -659 -WString -23 -?????Loop optimizations -1 -1 -660 -MCState -661 -WString -3 -WPP -662 -WString -19 -?????Loop unrolling -1 -1 -663 -MCState -664 -WString -3 -WPP -665 -WString -23 -?????Math optimizations -1 -1 -666 -MCState -667 -WString -3 -WPP -668 -WString -32 -?????In-line intrinsic functions -1 -1 -669 -MCState -670 -WString -3 -WPP -671 -WString -25 -?????Relax alias checking -1 -1 -672 -MCState -673 -WString -3 -WPP -674 -WString -27 -?????Instruction scheduling -1 -1 -675 -MVState -676 -WString -3 -WPP -677 -WString -29 -?????Expand function in-line: -1 -678 -WString -2 -20 -1 -679 -MRState -680 -WString -3 -WPP -681 -WString -29 -?????No debugging information -1 -1 -682 -MRState -683 -WString -3 -WPP -684 -WString -24 -?????Full debugging info -1 -0 -685 -MRState -686 -WString -3 -WPP -687 -WString -21 -?????Compiler default -1 -0 -688 -MCState -689 -WString -3 -WPP -690 -WString -30 -n????Multithreaded application -1 -1 -691 -MRState -692 -WString -3 -WPP -693 -WString -21 -?????Compiler default -1 -0 -694 -MRState -695 -WString -3 -WPP -696 -WString -33 -?????In-line Pentium instructions -1 -1 -697 -MRState -698 -WString -3 -WPP -699 -WString -21 -?????Compiler default -1 -0 -700 -MRState -701 -WString -3 -WPP -702 -WString -29 -?????In-line with coprocessor -1 -1 -703 -WVList -0 --1 -1 -1 -0 -704 -MItem -23 -..\3dc\avp\cconvars.cpp -705 -WString -6 -CPPOBJ -706 -WVList -0 -707 -WVList -0 -631 -1 -1 -0 -708 -MItem -31 -..\3dc\avp\cdtrackselection.cpp -709 -WString -6 -CPPOBJ -710 -WVList -0 -711 -WVList -0 -631 -1 -1 -0 -712 -MItem -25 -..\3dc\avp\consolelog.cpp -713 -WString -6 -CPPOBJ -714 -WVList -0 -715 -WVList -0 -631 -1 -1 -0 -716 -MItem -23 -..\3dc\avp\davehook.cpp -717 -WString -6 -CPPOBJ -718 -WVList -0 -719 -WVList -0 -631 -1 -1 -0 -720 -MItem -23 -..\3dc\avp\equiputl.cpp -721 -WString -6 -CPPOBJ -722 -WVList -0 -723 -WVList -0 -631 -1 -1 -0 -724 -MItem -23 -..\3dc\avp\gamecmds.cpp -725 -WString -6 -CPPOBJ -726 -WVList -0 -727 -WVList -0 -631 -1 -1 -0 -728 -MItem -23 -..\3dc\avp\gamevars.cpp -729 -WString -6 -CPPOBJ -730 -WVList -0 -731 -WVList -0 -631 -1 -1 -0 -732 -MItem -23 -..\3dc\avp\missions.cpp -733 -WString -6 -CPPOBJ -734 -WVList -0 -735 -WVList -0 -631 -1 -1 -0 -736 -MItem -21 -..\3dc\avp\scream.cpp -737 -WString -6 -CPPOBJ -738 -WVList -0 -739 -WVList -0 -631 -1 -1 -0 -740 -MItem -31 -..\3dc\avp\support\consbind.cpp -741 -WString -6 -CPPOBJ -742 -WVList -0 -743 -WVList -0 -631 -1 -1 -0 -744 -MItem -31 -..\3dc\avp\support\consbtch.cpp -745 -WString -6 -CPPOBJ -746 -WVList -0 -747 -WVList -0 -631 -1 -1 -0 -748 -MItem -31 -..\3dc\avp\support\coordstr.cpp -749 -WString -6 -CPPOBJ -750 -WVList -0 -751 -WVList -0 -631 -1 -1 -0 -752 -MItem -29 -..\3dc\avp\support\daemon.cpp -753 -WString -6 -CPPOBJ -754 -WVList -0 -755 -WVList -0 -631 -1 -1 -0 -756 -MItem -31 -..\3dc\avp\support\indexfnt.cpp -757 -WString -6 -CPPOBJ -758 -WVList -0 -759 -WVList -0 -631 -1 -1 -0 -760 -MItem -29 -..\3dc\avp\support\r2base.cpp -761 -WString -6 -CPPOBJ -762 -WVList -0 -763 -WVList -0 -631 -1 -1 -0 -764 -MItem -31 -..\3dc\avp\support\r2pos666.cpp -765 -WString -6 -CPPOBJ -766 -WVList -0 -767 -WVList -0 -631 -1 -1 -0 -768 -MItem -30 -..\3dc\avp\support\reflist.cpp -769 -WString -6 -CPPOBJ -770 -WVList -0 -771 -WVList -0 -631 -1 -1 -0 -772 -MItem -29 -..\3dc\avp\support\refobj.cpp -773 -WString -6 -CPPOBJ -774 -WVList -0 -775 -WVList -0 -631 -1 -1 -0 -776 -MItem -31 -..\3dc\avp\support\rentrntq.cpp -777 -WString -6 -CPPOBJ -778 -WVList -0 -779 -WVList -0 -631 -1 -1 -0 -780 -MItem -31 -..\3dc\avp\support\scstring.cpp -781 -WString -6 -CPPOBJ -782 -WVList -0 -783 -WVList -0 -631 -1 -1 -0 -784 -MItem -29 -..\3dc\avp\support\strtab.cpp -785 -WString -6 -CPPOBJ -786 -WVList -0 -787 -WVList -0 -631 -1 -1 -0 -788 -MItem -31 -..\3dc\avp\support\tallfont.cpp -789 -WString -6 -CPPOBJ -790 -WVList -0 -791 -WVList -0 -631 -1 -1 -0 -792 -MItem -30 -..\3dc\avp\support\trig666.cpp -793 -WString -6 -CPPOBJ -794 -WVList -0 -795 -WVList -0 -631 -1 -1 -0 -796 -MItem -30 -..\3dc\avp\support\wrapstr.cpp -797 -WString -6 -CPPOBJ -798 -WVList -0 -799 -WVList -0 -631 -1 -1 -0 -800 -MItem -29 -..\3dc\avp\win95\avpchunk.cpp -801 -WString -6 -CPPOBJ -802 -WVList -0 -803 -WVList -0 -631 -1 -1 -0 -804 -MItem -27 -..\3dc\avp\win95\avpreg.cpp -805 -WString -6 -CPPOBJ -806 -WVList -0 -807 -WVList -0 -631 -1 -1 -0 -808 -MItem -29 -..\3dc\avp\win95\chtcodes.cpp -809 -WString -6 -CPPOBJ -810 -WVList -0 -811 -WVList -0 -631 -1 -1 -0 -812 -MItem -28 -..\3dc\avp\win95\d3d_hud.cpp -813 -WString -6 -CPPOBJ -814 -WVList -0 -815 -WVList -0 -631 -1 -1 -0 -816 -MItem -31 -..\3dc\avp\win95\d3d_render.cpp -817 -WString -6 -CPPOBJ -818 -WVList -0 -819 -WVList -0 -631 -1 -1 -0 -820 -MItem -27 -..\3dc\avp\win95\ddplat.cpp -821 -WString -6 -CPPOBJ -822 -WVList -0 -823 -WVList -0 -631 -1 -1 -0 -824 -MItem -28 -..\3dc\avp\win95\dx_proj.cpp -825 -WString -6 -CPPOBJ -826 -WVList -0 -827 -WVList -0 -631 -1 -1 -0 -828 -MItem -27 -..\3dc\avp\win95\ffread.cpp -829 -WString -6 -CPPOBJ -830 -WVList -0 -831 -WVList -0 -631 -1 -1 -0 -832 -MItem -28 -..\3dc\avp\win95\ffstdio.cpp -833 -WString -6 -CPPOBJ -834 -WVList -0 -835 -WVList -0 -631 -1 -1 -0 -836 -MItem -39 -..\3dc\avp\win95\frontend\avp_intro.cpp -837 -WString -6 -CPPOBJ -838 -WVList -0 -839 -WVList -0 -631 -1 -1 -0 -840 -MItem -41 -..\3dc\avp\win95\frontend\avp_menugfx.cpp -841 -WString -6 -CPPOBJ -842 -WVList -0 -843 -WVList -0 -631 -1 -1 -0 -844 -MItem -43 -..\3dc\avp\win95\frontend\avp_mp_config.cpp -845 -WString -6 -CPPOBJ -846 -WVList -0 -847 -WVList -0 -631 -1 -1 -0 -848 -MItem -45 -..\3dc\avp\win95\frontend\avp_userprofile.cpp -849 -WString -6 -CPPOBJ -850 -WVList -0 -851 -WVList -0 -631 -1 -1 -0 -852 -MItem -37 -..\3dc\avp\win95\gadgets\ahudgadg.cpp -853 -WString -6 -CPPOBJ -854 -WVList -0 -855 -WVList -0 -631 -1 -1 -0 -856 -MItem -37 -..\3dc\avp\win95\gadgets\conscmnd.cpp -857 -WString -6 -CPPOBJ -858 -WVList -0 -859 -WVList -0 -631 -1 -1 -0 -860 -MItem -36 -..\3dc\avp\win95\gadgets\conssym.cpp -861 -WString -6 -CPPOBJ -862 -WVList -0 -863 -WVList -0 -631 -1 -1 -0 -864 -MItem -36 -..\3dc\avp\win95\gadgets\consvar.cpp -865 -WString -6 -CPPOBJ -866 -WVList -0 -867 -WVList -0 -631 -1 -1 -0 -868 -MItem -35 -..\3dc\avp\win95\gadgets\gadget.cpp -869 -WString -6 -CPPOBJ -870 -WVList -0 -871 -WVList -0 -631 -1 -1 -0 -872 -MItem -36 -..\3dc\avp\win95\gadgets\hudgadg.cpp -873 -WString -6 -CPPOBJ -874 -WVList -0 -875 -WVList -0 -631 -1 -1 -0 -876 -MItem -37 -..\3dc\avp\win95\gadgets\rootgadg.cpp -877 -WString -6 -CPPOBJ -878 -WVList -0 -879 -WVList -0 -631 -1 -1 -0 -880 -MItem -37 -..\3dc\avp\win95\gadgets\t_ingadg.cpp -881 -WString -6 -CPPOBJ -882 -WVList -0 -883 -WVList -0 -631 -1 -1 -0 -884 -MItem -37 -..\3dc\avp\win95\gadgets\teletype.cpp -885 -WString -6 -CPPOBJ -886 -WVList -0 -887 -WVList -0 -631 -1 -1 -0 -888 -MItem -36 -..\3dc\avp\win95\gadgets\textexp.cpp -889 -WString -6 -CPPOBJ -890 -WVList -0 -891 -WVList -0 -631 -1 -1 -0 -892 -MItem -35 -..\3dc\avp\win95\gadgets\textin.cpp -893 -WString -6 -CPPOBJ -894 -WVList -0 -895 -WVList -0 -631 -1 -1 -0 -896 -MItem -37 -..\3dc\avp\win95\gadgets\trepgadg.cpp -897 -WString -6 -CPPOBJ -898 -WVList -0 -899 -WVList -0 -631 -1 -1 -0 -900 -MItem -33 -..\3dc\avp\win95\gammacontrol.cpp -901 -WString -6 -CPPOBJ -902 -WVList -0 -903 -WVList -0 -631 -1 -1 -0 -904 -MItem -30 -..\3dc\avp\win95\hierplace.cpp -905 -WString -6 -CPPOBJ -906 -WVList -0 -907 -WVList -0 -631 -1 -1 -0 -908 -MItem -26 -..\3dc\avp\win95\intro.cpp -909 -WString -6 -CPPOBJ -910 -WVList -0 -911 -WVList -0 -631 -1 -1 -0 -912 -MItem -28 -..\3dc\avp\win95\iofocus.cpp -913 -WString -6 -CPPOBJ -914 -WVList -0 -915 -WVList -0 -631 -1 -1 -0 -916 -MItem -28 -..\3dc\avp\win95\jsndsup.cpp -917 -WString -6 -CPPOBJ -918 -WVList -0 -919 -WVList -0 -631 -1 -1 -0 -920 -MItem -28 -..\3dc\avp\win95\modcmds.cpp -921 -WString -6 -CPPOBJ -922 -WVList -0 -923 -WVList -0 -631 -1 -1 -0 -924 -MItem -35 -..\3dc\avp\win95\mousecentreing.cpp -925 -WString -6 -CPPOBJ -926 -WVList -0 -927 -WVList -0 -631 -1 -1 -0 -928 -MItem -29 -..\3dc\avp\win95\npcsetup.cpp -929 -WString -6 -CPPOBJ -930 -WVList -0 -931 -WVList -0 -631 -1 -1 -0 -932 -MItem -29 -..\3dc\avp\win95\objsetup.cpp -933 -WString -6 -CPPOBJ -934 -WVList -0 -935 -WVList -0 -631 -1 -1 -0 -936 -MItem -29 -..\3dc\avp\win95\pathchnk.cpp -937 -WString -6 -CPPOBJ -938 -WVList -0 -939 -WVList -0 -631 -1 -1 -0 -940 -MItem -28 -..\3dc\avp\win95\pcmenus.cpp -941 -WString -6 -CPPOBJ -942 -WVList -0 -943 -WVList -0 -631 -1 -1 -0 -944 -MItem -33 -..\3dc\avp\win95\progress_bar.cpp -945 -WString -6 -CPPOBJ -946 -WVList -0 -947 -WVList -0 -631 -1 -1 -0 -948 -MItem -29 -..\3dc\avp\win95\projload.cpp -949 -WString -6 -CPPOBJ -950 -WVList -0 -951 -WVList -0 -631 -1 -1 -0 -952 -MItem -28 -..\3dc\avp\win95\scrshot.cpp -953 -WString -6 -CPPOBJ -954 -WVList -0 -955 -WVList -0 -631 -1 -1 -0 -956 -MItem -29 -..\3dc\avp\win95\strachnk.cpp -957 -WString -6 -CPPOBJ -958 -WVList -0 -959 -WVList -0 -631 -1 -1 -0 -960 -MItem -29 -..\3dc\avp\win95\win_proj.cpp -961 -WString -6 -CPPOBJ -962 -WVList -0 -963 -WVList -0 -631 -1 -1 -0 -964 -MItem -19 -..\3dc\mem3dcpp.cpp -965 -WString -6 -CPPOBJ -966 -WVList -0 -967 -WVList -0 -631 -1 -1 -0 -968 -MItem -24 -..\3dc\win95\alt_tab.cpp -969 -WString -6 -CPPOBJ -970 -WVList -0 -971 -WVList -0 -631 -1 -1 -0 -972 -MItem -25 -..\3dc\win95\animchnk.cpp -973 -WString -6 -CPPOBJ -974 -WVList -0 -975 -WVList -0 -631 -1 -1 -0 -976 -MItem -24 -..\3dc\win95\animobs.cpp -977 -WString -6 -CPPOBJ -978 -WVList -0 -979 -WVList -0 -631 -1 -1 -0 -980 -MItem -24 -..\3dc\win95\awbmpld.cpp -981 -WString -6 -CPPOBJ -982 -WVList -0 -983 -WVList -0 -631 -1 -1 -0 -984 -MItem -24 -..\3dc\win95\awiffld.cpp -985 -WString -6 -CPPOBJ -986 -WVList -0 -987 -WVList -0 -631 -1 -1 -0 -988 -MItem -24 -..\3dc\win95\awpnmld.cpp -989 -WString -6 -CPPOBJ -990 -WVList -0 -991 -WVList -0 -631 -1 -1 -0 -992 -MItem -24 -..\3dc\win95\awtexld.cpp -993 -WString -6 -CPPOBJ -994 -WVList -0 -995 -WVList -0 -631 -1 -1 -0 -996 -MItem -25 -..\3dc\win95\bmpnames.cpp -997 -WString -6 -CPPOBJ -998 -WVList -0 -999 -WVList -0 -631 -1 -1 -0 -1000 -MItem -25 -..\3dc\win95\chnkload.cpp -1001 -WString -6 -CPPOBJ -1002 -WVList -0 -1003 -WVList -0 -631 -1 -1 -0 -1004 -MItem -25 -..\3dc\win95\chnktexi.cpp -1005 -WString -6 -CPPOBJ -1006 -WVList -0 -1007 -WVList -0 -631 -1 -1 -0 -1008 -MItem -25 -..\3dc\win95\chnktype.cpp -1009 -WString -6 -CPPOBJ -1010 -WVList -0 -1011 -WVList -0 -631 -1 -1 -0 -1012 -MItem -22 -..\3dc\win95\chunk.cpp -1013 -WString -6 -CPPOBJ -1014 -WVList -0 -1015 -WVList -0 -631 -1 -1 -0 -1016 -MItem -25 -..\3dc\win95\chunkpal.cpp -1017 -WString -6 -CPPOBJ -1018 -WVList -0 -1019 -WVList -0 -631 -1 -1 -0 -1020 -MItem -24 -..\3dc\win95\d3_func.cpp -1021 -WString -6 -CPPOBJ -1022 -WVList -0 -1023 -WVList -0 -631 -1 -1 -0 -1024 -MItem -24 -..\3dc\win95\dd_func.cpp -1025 -WString -6 -CPPOBJ -1026 -WVList -0 -1027 -WVList -0 -631 -1 -1 -0 -1028 -MItem -25 -..\3dc\win95\debuglog.cpp -1029 -WString -6 -CPPOBJ -1030 -WVList -0 -1031 -WVList -0 -631 -1 -1 -0 -1032 -MItem -24 -..\3dc\win95\di_func.cpp -1033 -WString -6 -CPPOBJ -1034 -WVList -0 -1035 -WVList -0 -631 -1 -1 -0 -1036 -MItem -25 -..\3dc\win95\envchunk.cpp -1037 -WString -6 -CPPOBJ -1038 -WVList -0 -1039 -WVList -0 -631 -1 -1 -0 -1040 -MItem -25 -..\3dc\win95\fragchnk.cpp -1041 -WString -6 -CPPOBJ -1042 -WVList -0 -1043 -WVList -0 -631 -1 -1 -0 -1044 -MItem -25 -..\3dc\win95\gsprchnk.cpp -1045 -WString -6 -CPPOBJ -1046 -WVList -0 -1047 -WVList -0 -631 -1 -1 -0 -1048 -MItem -25 -..\3dc\win95\hierchnk.cpp -1049 -WString -6 -CPPOBJ -1050 -WVList -0 -1051 -WVList -0 -631 -1 -1 -0 -1052 -MItem -24 -..\3dc\win95\huffman.cpp -1053 -WString -6 -CPPOBJ -1054 -WVList -0 -1055 -WVList -0 -631 -1 -1 -0 -1056 -MItem -20 -..\3dc\win95\iff.cpp -1057 -WString -6 -CPPOBJ -1058 -WVList -0 -1059 -WVList -0 -631 -1 -1 -0 -1060 -MItem -25 -..\3dc\win95\iff_ilbm.cpp -1061 -WString -6 -CPPOBJ -1062 -WVList -0 -1063 -WVList -0 -631 -1 -1 -0 -1064 -MItem -25 -..\3dc\win95\list_tem.cpp -1065 -WString -6 -CPPOBJ -1066 -WVList -0 -1067 -WVList -0 -631 -1 -1 -0 -1068 -MItem -24 -..\3dc\win95\ltchunk.cpp -1069 -WString -6 -CPPOBJ -1070 -WVList -0 -1071 -WVList -0 -631 -1 -1 -0 -1072 -MItem -22 -..\3dc\win95\media.cpp -1073 -WString -6 -CPPOBJ -1074 -WVList -0 -1075 -WVList -0 -631 -1 -1 -0 -1076 -MItem -25 -..\3dc\win95\mishchnk.cpp -1077 -WString -6 -CPPOBJ -1078 -WVList -0 -1079 -WVList -0 -631 -1 -1 -0 -1080 -MItem -24 -..\3dc\win95\obchunk.cpp -1081 -WString -6 -CPPOBJ -1082 -WVList -0 -1083 -WVList -0 -631 -1 -1 -0 -1084 -MItem -25 -..\3dc\win95\shpchunk.cpp -1085 -WString -6 -CPPOBJ -1086 -WVList -0 -1087 -WVList -0 -631 -1 -1 -0 -1088 -MItem -25 -..\3dc\win95\sndchunk.cpp -1089 -WString -6 -CPPOBJ -1090 -WVList -0 -1091 -WVList -0 -631 -1 -1 -0 -1092 -MItem -25 -..\3dc\win95\sprchunk.cpp -1093 -WString -6 -CPPOBJ -1094 -WVList -0 -1095 -WVList -0 -631 -1 -1 -0 -1096 -MItem -25 -..\3dc\win95\txioctrl.cpp -1097 -WString -6 -CPPOBJ -1098 -WVList -0 -1099 -WVList -0 -631 -1 -1 -0 -1100 -MItem -27 -..\3dc\win95\videomodes.cpp -1101 -WString -6 -CPPOBJ -1102 -WVList -0 -1103 -WVList -0 -631 -1 -1 -0 -1104 -MItem -25 -..\3dc\win95\win_func.cpp -1105 -WString -6 -CPPOBJ -1106 -WVList -0 -1107 -WVList -0 -631 -1 -1 -0 -1108 -MItem -24 -..\3dc\win95\wpchunk.cpp -1109 -WString -6 -CPPOBJ -1110 -WVList -0 -1111 -WVList -0 -631 -1 -1 -0 -1112 -MItem -4 -*.rc -1113 -WString -5 -NRESC -1114 -WVList -0 -1115 -WVList -0 --1 -1 -1 -0 -1116 -MItem -13 -..\3dc\avp.rc -1117 -WString -5 -NRESC -1118 -WVList -0 -1119 -WVList -0 -1112 -1 -1 -0