Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by Scooper

  1. Hey, didn't notice the notifaction for a few days. Been very busy.


    You could try something like this. Not 100% sure if it will compile, didn't test it =p Good luck.

    void G_CreateRotationMatrix(vec3_t angles, matrix3_t matrix); // Function decleration/prototype so we can use it. You can put this in a header file.
    static void WP_DEMP2_AltFire( gentity_t *ent )
    	int damage = weaponData[WP_DEMP2].damage;
    	int currentShot = 0;
    	vec3_t start;
    	matrix3_t rotMatrix;
    	vec3_t barrel[] = {
    			{22.0f, 0.0f, 0.0f},
    			{11.0f, 0.0f, 0.0f},
    			{-11.0f, 0.0f, 0.0f},
    			{-22.0f, 0.0f, 0.0f}
    	VectorCopy(muzzle, start);
    	WP_TraceSetStart(ent, start, vec3_origin, vec3_origin); //make sure our start point isn't on the other side of a wall
    	//Calculate damages
    	if (ent->s.number != 0)
    		if (g_spskill->integer == 0)
    			damage = DEMP2_NPC_DAMAGE_EASY;
    		else if (g_spskill->integer == 1)
    			damage = DEMP2_NPC_DAMAGE_NORMAL;
    			damage = DEMP2_NPC_DAMAGE_HARD;
    	// I don't have the source for this function, not 100% sure what it does.
    	// I assume it finds and adjusted muzzle point as well as the forward vector of the player.
    	WP_MissileTargetHint(ent, start, forwardVec);
    	// Create a rotation matrix from the player view angles.
    	G_CreateRotationMatrix(ent->client->ps.viewangles, rotMatrix);
    	for (currentShot = 0; currentShot <= 3; currentShot++)
    		vec3_t muzzleOffset;
    		VectorCopy(barrel[currentShot], muzzleOffset);
    		RotatePoint(muzzleOffset, rotMatrix);			// Rotate the current barrel/muzzle offset to be relative to the player rotation.
    		VectorAdd(start, muzzleOffset, muzzleOffset);
    		missile = CreateMissile( muzzleOffset, forwardVec, DEMP2_VELOCITY, 10000, ent);
    		missile->classname = "demp2_proj";
    		missile->s.weapon = WP_DEMP2;
    		VectorSet(missileA->maxs, DEMP2_SIZE, DEMP2_SIZE, DEMP2_SIZE);
    		VectorScale(missileA->maxs, -1, missileA->mins);
    		missile->damage = damage;
    		missile->dflags = DAMAGE_DEATH_KNOCKBACK;
    		missile->methodOfDeath = MOD_DEMP2;
    		missile->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    		missile->bounceCount = 0; // we don't want it to ever bounce
    Darth Futuza and Teancum like this

  2. Not without some work. The source code is released now, so anyone can do that change if they want to see it. I was thinking of just making it save in json at some point, but never got around to it.

  3. Makermod can be played without any client side plugins, but there is one you can use. So your wife should probably also install it.


    Your wife can join by finding your server in the server browser, she should not run the .bat to start a server. Or she can connect to your server by doing "/connect <your_server_local_ip>:29070" where you replace <your_server_local_ip> with the ip.

    You can find your local IP by doing the following steps:

    1) write "cmd" (without quotes) in the start menu, and press enter.
    2) A black terminal window should pop up, write "ipconfig" and press enter.
    3) What you see here depends a bit on your PC's setup and what devices it has. But it will list all of your IP configurations. Look for the line(s) that says "IPv4 Address. . . . . : <IP>" 
    4) Have your wife write "/connect <IP>:29070" in her console, when your server is running.
    A local IP is usually something like or
    Step 1 to 3 are on the PC running the server, step 4 is for the PC that is not.
    If you find multiple results on line 3, just try all of them separately.
    dark_apprentice likes this

  4. Not sure why you said "nothing happened" when it prints:

    map: t2_trip
    num score ping name [...]

    That is the current status of your server, it's running map t2_trip, and since there are no players on it it can't show any stats about them, and only prints the column names.


    Your server is running correctly, you should be able to connect to it. Go to the server browser in the jamp client (you don't have to load makermod in jamp) and connect to your local server.

    You have to change the filter options in the top right portion of the server browser until it shows LAN (or Local not sure exactly what it says). And your server should show up.
    Or you can connect with the "/connect localhost:29070" console command like I mentioned before.

  5. Well first of all you will need JKA to be able to play makermod, I assume you have that in order though.


    I suggest checking out the readme files included in the download. The "Old Makermod Readme.txt" has some installation and getting started instructions.


    Some googling also gives me two (kinda dated) guides:




    They all talk about a .bat file that is not included in the download you have though, but you can make it yourself:

    .\jampded.exe +set dedicated 1 +set fs_game makermod +exec makermod.cfg +set sv_pure 0 +set net_port 29070

    Copy paste this into a txt file, and rename it to "Makermod Dedicated Server.bat" (make sure you have hide extensions for known filetypes disabled).

    Put this file in your GameData folder and double click it. If you have extracted all of the makermod files correctly, it should start your makermod server.

    You'll see a window pop up. Type "status" and press enter. If it tells you the server is not running, type "map t2_trip" and enter again.


    You should now be able to join your server by starting a jamp client, and then use the server browser to list LAN/Local servers. Or you can type /connect localhost:29070 in your console.

    People playing on a different machine than the server, like your wife, needs to connect to your server with the server browser or your local network IP, for example: /connect Replace with your PC's local IP.

  6. void Cmd_TeleMe_f(gentity_t* ent)
        float offset = 32.0f;
        vec3_t dir, pos, newAngle;
        char buffer[MAX_TOKEN_CHARS];
        gentity_t* target = NULL;
        int playerIndex = -1;
        // Find the target player
        trap_Argv( 1, buffer, sizeof( buffer ) );
        playerIndex = ClientNumberFromString(ent, buffer, qfalse);
        if( playerIndex == -1 )
        target = g_entities[playerIndex];
        // Find the forward vector from the target npc's view angles.
        AngleVectors(target->client->ps.viewangles, dir, NULL, NULL);
        // Find the point that is offset infront of the target player.
        VectorMA(target->client->ps.origin, offset, dir, pos);
        // Flip the vector so it's pointing towards the target player
        VectorScale(dir, -1, dir);
        // Use the flipped vector to get new facing angle for yourself
        vectoangles(dir, newAngle);
        // Teleport yourself(ent) to the position right infront of target(pos) with the new angle facing the target(newAngle)
        TeleportPlayer(ent, pos, newAngle);

    Something like this should work.

    grant85 likes this

  7. From these screenshots, (@@Scooper) it would appear that the GLM exporter is only exporting the (green) explicit normals. And the dotXSI exporter appears to be exporting more normals than 3ds Max is showing (e.g. on back of hand and side of pinky finger).


    Ah so you're comparing my exporter here too. It does appear to ignore those, guess I'll have to fix that. During the last couple of days I've worked a bit on fixing some reported bugs, so this has just been added to the list.

    Archangel35757 likes this

  8. Hello! I'm trying to use this with Max 2016, copied the GLM_Exporter_2016_x64 .dle and .dli files to the .../3ds Max 2016\plugins folder, but when I launch the Max, it says "DLL <...> failed to initialize. Error code 126 - The specified module could not be found." I'm not an expert of this software, so I dont know its a local problem, or its something with the plug-in. Checked Google, it was advised on forums to install the DX9 files from MS site, but it was already installed, so it didnt solve my problem. If anyone tried to use this with Max 2016, please tell me that is the plug-in working (so its a local problem for me) or not.

    I compiled everything using VS 2013, so you'll need the Visual C++ 2013 Redistributables. That might be the cause of your problem.


  9. I think I can solve all of these problems right now.


    We simply need to make rend2 detect a variable set by cgame for whether or not to draw fancy water effects, then implement the fancy water effects from Unreal Engine 4 and, while we're at it, the rest of Unreal Engine 4's graphics system. 


    Shouldn't take long since we have @@Scooper





    (Also I guess I'll have to read this entire topic later, THANKS A LOT FOR SUMMONING ME :()

    DT85, eezstreet, Xycaleth and 1 other like this

  10. Only just noticed this thread. I have a few issues with the GLM plugins. First off, I'm running 2014 & testing with my EP7 stormtrooper which has LODs 0, 1 & 2.


    GLM Importer Issues:


    - Imports very large max bones.


    While this isn't exactly an issue, it does cause clutter.



    GLM Exporter Issues:


    - When exporting a model with LODs, modview says not all the parts are connected in the heirarchy.

    - LOD0 aka "_0" on the end doesn't get converted to not having the "_0" on the end.

    - Export Selected doesn't work, as it just exports the entire .max file anyway



    Let me know if you need any more info.


    The importer attempts to make bones be a reasonable size/length based on how it's connected to others in the hierarchy. For bones that do not have any children it uses a default size. I guess the default size is pretty big, and might be obstructive in some areas like the face.

    This can be changed to be configurable if needed. With feedback I'll probably end up making a v1.1


    Exporter issues:

    My plugin does not currently support exporting LODs.

    This was basically a time saver when I made it though, and the plugin does not require a huge amount of changes to function with exporting multiple LODs.

    Again, my memory might not be completely accurate, but I believe the main thing I was missing was just checking how many LODs were in the scene. Which I could also just ask the user for. Other than that I think the code should already support it.

    So it's not a big issue, I was just cutting corners a lot back then.


    So right now if you want to export, it will only be 1 LOD. And it will not strip the _X ending from the pieces when there's only 1 LOD. (My plugin uses _0, _1 etc. btw) So you'll have to do that manually.


    Export selected: I guess this would be useful to have as well.

  11. I guess this is an appropriate time to point out that I made the plugins years ago. And therefore do not remember 100% how everything works anymore. (I can obviously just read my code and figure it out but meeeh)


    There are no known issues with scaling using my plugins. And although I do remember there being something about a weird scale factor, my plugins just avoid dealing with it.

    Milamber used my plugin to release the Chaosknight model, a zabrak female in a knights armor, ages ago.


    So if there is anything more specific about a scaling issue I should be aware of, please be a bit more descriptive, or try my plugins and see if you find an issue.




    Did a quick check on my code, and my memory is kicking in:

    The 64% scale "issue" is part of the .GLA format. Not the .GLM format. And it is used by the game to scale things appropriately (for whatever reason). So the fScale parameter is just completely ignored by my plugins, and everything works fine.

    Stoiss likes this

  12. I am busy with other things. But there's also a few problems with going back to working on makermod.

    1) The community has gotten really small

    2) There's a lot of cool things I would like to work on, but I have to do a lot of boring stuff before that.

    3) Limited free time and energy, need to choose my projects carefully. And without good incentives, I'm probably not going to work on makermod. (Good incentives being a big community or something really awesome to make in it).

  • Create New...