Wolf3d Haven Forum

Please log in or register. Smile

Join the forum, it's quick and easy

Wolf3d Haven Forum

Please log in or register. Smile

Wolf3d Haven Forum

Would you like to react to this message? Create an account in a few clicks or log in to continue.
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

    Dark_wizzie
    Dark_wizzie
    I am Death Incarnate!
    I am Death Incarnate!


    Female
    Number of posts : 5120
    Age : 30
    Location : California, USA
    Job : Investor
    Hobbie : Computers, chess, computer chess, fashion, and philosophy
    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 Empty changing all pac man into 1 shootable enemy

    Post by Dark_wizzie 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 Thu Nov 21, 2024 2:40 am