Wolf3d Haven Forum

Please log in or register. Smile
Wolf3d Haven Forum

A friendly Wolfenstein 3D community, about Wolfenstein 3D, the game that gave birth to first person shooters...


    changing all pac man into 1 shootable enemy

    Share

    Dark_wizzie
    I am Death Incarnate!
    I am Death Incarnate!

    Male
    Number of posts : 5090
    Age : 22
    Location : USA or Tawain
    Job : Student, Part time Cactuar fanatic
    Hobbie : Planting Cactuars.
    Message : I made this forum when I was 13 High on Drugs
    Registration date : 2007-03-24

    changing all pac man into 1 shootable enemy

    Post by Dark_wizzie on Sun Apr 29, 2007 1:38 pm

    dome




    Code Editing Tutorials
    Changing all Pacmans to 1 shootable enemy!




    Step 1. Open up WL_DEF.H and do a search for s_grddie. You should find it around line 1184. Now, below "s_grddie", you add this line:

    extern statetype s_ghostdie;


    Step 2. Open up WL_ACT2.C and go to line 451. There you will find:


    extern statetype s_blinkychase1;

    extern statetype s_blinkychase2;

    extern statetype s_inkychase1;

    extern statetype s_inkychase2;

    extern statetype s_pinkychase1;

    extern statetype s_pinkychase2;

    extern statetype s_clydechase1;

    extern statetype s_clydechase2;

    statetype s_blinkychase1 = {false,SPR_BLINKY_W1,10,T_Ghosts,NULL,&s_blinkychase2};

    statetype s_blinkychase2 = {false,SPR_BLINKY_W2,10,T_Ghosts,NULL,&s_blinkychase1};

    statetype s_inkychase1 = {false,SPR_INKY_W1,10,T_Ghosts,NULL,&s_inkychase2};

    statetype s_inkychase2 = {false,SPR_INKY_W2,10,T_Ghosts,NULL,&s_inkychase1};

    statetype s_pinkychase1 = {false,SPR_PINKY_W1,10,T_Ghosts,NULL,&s_pinkychase2};

    statetype s_pinkychase2 = {false,SPR_PINKY_W2,10,T_Ghosts,NULL,&s_pinkychase1};

    statetype s_clydechase1 = {false,SPR_CLYDE_W1,10,T_Ghosts,NULL,&s_clydechase2};

    statetype s_clydechase2 = {false,SPR_CLYDE_W2,10,T_Ghosts,NULL,&s_clydechase1};


    Step 3. Change them like this:


    extern statetype s_blinkychase1;

    extern statetype s_blinkychase2;

    extern statetype s_blinkyshoot1;

    extern statetype s_blinkyshoot2;

    extern statetype s_blinkydie1;

    extern statetype s_blinkydie2;

    extern statetype s_blinkydie3;

    extern statetype s_blinkydie4;

    statetype s_blinkychase1 = {false,SPR_BLINKY_W1,10,T_Chase,NULL,&s_blinkychase2};

    statetype s_blinkychase2 = {false,SPR_BLINKY_W2,10,T_Chase,NULL,&s_blinkychase1};

    statetype s_blinkydie1 = {false,SPR_INKY_W1,10,NULL,A_DeathScream,&s_inkychase2};

    statetype s_blinkydie2 = {false,SPR_INKY_W2,10,NULL,NULL,&s_inkychase1};

    statetype s_blinkydie3 = {false,SPR_PINKY_W1,10,NULL,NULL,&s_pinkychase2};

    statetype s_blinkydie4 = {false,SPR_PINKY_W2,10,NULL,NULL,&s_pinkychase1};

    statetype s_blinkyshoot1 = {false,SPR_CLYDE_W1,10,NULL,NULL,&s_clydechase2};

    statetype s_blinkyshoot2 = {false,SPR_CLYDE_W2,10,T_Shoot,NULL,&s_clydechase1};


    Step 4. Now do a search for "spawnghosts" and change it like this:


    void SpawnGhosts (int which, int tilex, int tiley)

    {

    unsigned far *map,tile;

    SpawnNewObj (tilex,tiley,&s_blinkychase1);

    new->speed = SPDPATROL;

    new->obclass = ghostobj;

    new->hitpoints = starthitpoints[gamestate.difficulty][en_blinky];

    new->dir = south;

    new->flags |= FL_SHOOTABLE|FL_AMBUSH;

    if (!loadgame)

    gamestate.killtotal++;

    }


    step 5. Open up WL_STATE.C and do a search for "case bossobj". Now add these lines above it:


    case ghostobj:

    GivePoints (500);

    NewState (ob,&s_blinkydie1);

    break;

    Step 6. Do another search for "case bossobj". Now add these lines above it:


    case ghostobj:

    SD_PlaySound(YOURSOUND); // Change this to your liking

    NewState (ob,&s_blinkychase1);

    ob->speed = SPDPATROL*4;

    break;

    Step 7. Do another search for "case bossobj". Now add this line above it:


    case ghostobj:


    Step 8. Save and compile the files. Now you have, instead of 4 different ghosts, one ghost which can be killed.

    NOTE: Change your levels and OBJDATA files accordingly!





    Wolf3d Haven
    Minute Logic Blog

      Current date/time is Sat Dec 10, 2016 4:11 pm