Xect vs. Mynn - Page 2

Xect vs. Mynn

Discuss game development here, from a distinct game project to an accessible third-party mutator, down to the interaction and design of individual units if you like.

Moderator: Moderators

User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Yes I was thinking about some sort of "file" list but I don't know if it's practical?
Let's just see how Foe OfTheBee's todo list looks like once he made it.
In the mean time I'm bussy with the cursors.
User avatar
FoeOfTheBee
Posts: 557
Joined: 12 May 2005, 18:26

Help!

Post by FoeOfTheBee »

The comander now builds, walks, and shoots. I removed the base plate, which looked funny. I need help with a couple of issues that have me stumped. The mod-in-progress is at http://blancandrin.dyndns.org/~foe/xect ... n_v03a.sd7

1. After removing the Xect Commander's base plate, I get an "unknow texture 00" message when starting a game.

2. Several units will not shoot. I have been working on the Kindjal Plasma Trooper, and I am stumped as to why he doesn't shoot. The same weapon shoots with other units. I'm posting the script below, hopefully someone can let me know what I need to do to fix this.

#define TA // This is a TA script

#include "sfxtype.h"
#include "exptype.h"

piece base, hip_joint, hip, rthigh_joint, rthigh, rleg_joint, rleg, rfoot_joint,
rfoot, lthigh_joint, lthigh, lleg_joint, lleg, lfoot_joint, lfoot, torso_joint,
collar, neck, chest, ribs, shoulders, launchers, rflare, lflare,
rarm_joint, rarm, rwrist_joint, rwrist, rhand_joint, rhand, larm_joint, larm,
lwrist_joint, lwrist, lhand_joint, lhand, pack, tubes, bothead, tophead,
visor, head_joint;

static-var bMoving, bAiming, Static_Var_3, gun_1, Static_Var_5,
Static_Var_6;

// Signal definitions
#define SIG_AIM 4

walk(Func_Var_1)
{
if( bMoving == 1 )
{
turn hip_joint to y-axis <15.> speed <145.>;
turn lthigh_joint to x-axis <-35.> speed <145.>;
turn lleg_joint to x-axis <-25.> speed <145.>;
turn lfoot_joint to x-axis <-15.> speed <145.>;
turn rthigh_joint to x-axis <35.> speed <145.>;
turn rleg_joint to x-axis <25.> speed <145.>;
turn rfoot_joint to x-axis <15.> speed <145.>;
wait-for-turn hip_joint around x-axis;
wait-for-turn lthigh_joint around x-axis;
wait-for-turn lleg_joint around x-axis;
wait-for-turn rthigh_joint around x-axis;
wait-for-turn rleg_joint around x-axis;
}
if( Func_Var_1 == 1 )
{
turn larm_joint to x-axis <-35.> speed <145.>;
turn lwrist_joint to x-axis <0.> speed <145.>;
turn rarm_joint to x-axis <35.> speed <145.>;
turn rwrist_joint to x-axis <-75.> speed <145.>;
}
if( bMoving == 1 )
{
turn hip_joint to y-axis <0.> speed <145.>;
turn lthigh_joint to x-axis <0.> speed <145.>;
turn lleg_joint to x-axis <0.> speed <145.>;
turn lfoot_joint to x-axis <0.> speed <145.>;
turn rthigh_joint to x-axis <0.> speed <145.>;
turn rleg_joint to x-axis <0.> speed <145.>;
turn rfoot_joint to x-axis <0.> speed <145.>;
}
if( bMoving == 1 )
{
turn hip_joint to y-axis <0.> speed <145.>;
turn lthigh_joint to x-axis <35.> speed <145.>;
turn lleg_joint to x-axis <25.> speed <145.>;
turn lfoot_joint to x-axis <15.> speed <145.>;
turn rthigh_joint to x-axis <-35.> speed <145.>;
turn rleg_joint to x-axis <-25.> speed <145.>;
turn rfoot_joint to x-axis <-15.> speed <145.>;
turn torso_joint to y-axis <10.> speed <25.>;
turn torso_joint to z-axis <-5.> speed <25.>;
turn torso_joint to x-axis <5.> speed <60.>;
turn hip_joint to z-axis <3.> speed <50.>;
wait-for-turn hip_joint around x-axis;
wait-for-turn lthigh_joint around x-axis;
wait-for-turn lleg_joint around x-axis;
wait-for-turn rthigh_joint around x-axis;
wait-for-turn rleg_joint around x-axis;
}
if( Func_Var_1 == 1 )
{
turn larm_joint to x-axis <35.> speed <145.>;
turn lwrist_joint to x-axis <-75.> speed <145.>;
turn rarm_joint to x-axis <-35.> speed <145.>;
turn rwrist_joint to x-axis <0.> speed <145.>;
}
if( bMoving == 1 )
{
turn torso_joint to x-axis <-5.> speed <25.>;
turn torso_joint to y-axis <-10.> speed <25.>;
turn torso_joint to z-axis <5.> speed <25.>;
turn hip_joint to z-axis <-3.> speed <50.>;
}
if( bMoving == 1 )
{
turn hip_joint to y-axis <0.> speed <145.>;
turn lthigh_joint to x-axis <0.> speed <145.>;
turn lleg_joint to x-axis <0.> speed <145.>;
turn lfoot_joint to x-axis <0.> speed <145.>;
turn rthigh_joint to x-axis <0.> speed <145.>;
turn rleg_joint to x-axis <0.> speed <145.>;
turn rfoot_joint to x-axis <0.> speed <145.>;
}
}

relax()
{
while( Static_Var_5 )
{
if( Static_Var_5 )
{
turn larm_joint to x-axis <75.> speed <15.>;
}
if( Static_Var_5 )
{
turn larm_joint to z-axis <0.> speed <15.>;
}
if( Static_Var_5 )
{
turn rarm_joint to x-axis <90.> speed <15.>;
}
if( Static_Var_5 )
{
turn rarm_joint to z-axis <0.> speed <15.>;
}
if( Static_Var_5 )
{
turn head_joint to y-axis <-35.> speed <30.>;
}
if( Static_Var_5 )
{
turn head_joint to x-axis <-45.> speed <30.>;
}
if( Static_Var_5 )
{
turn torso_joint to x-axis <-30.> speed <30.>;
}
if( Static_Var_5 )
{
wait-for-turn head_joint around y-axis;
}
if( Static_Var_5 )
{
turn torso_joint to y-axis <-35.> speed <15.>;
}
if( Static_Var_5 )
{
turn torso_joint to z-axis <-10.> speed <15.>;
}
if( Static_Var_5 )
{
turn lthigh_joint to x-axis <-10.> speed <15.>;
}
if( Static_Var_5 )
{
turn lthigh_joint to y-axis <10.> speed <15.>;
}
if( Static_Var_5 )
{
turn rthigh_joint to x-axis <0.> speed <15.>;
}
if( Static_Var_5 )
{
turn rthigh_joint to y-axis <-10.> speed <15.>;
}
if( Static_Var_5 )
{
turn lleg_joint to x-axis <10.> speed <15.>;
}
if( Static_Var_5 )
{
turn rleg_joint to x-axis <0.> speed <15.>;
}
if( Static_Var_5 )
{
wait-for-turn torso_joint around y-axis;
}
if( Static_Var_5 )
{
wait-for-turn larm_joint around x-axis;
}
if( Static_Var_5 )
{
wait-for-turn rarm_joint around x-axis;
}
if( Static_Var_5 )
{
turn head_joint to y-axis <35.> speed <30.>;
}
if( Static_Var_5 )
{
turn head_joint to x-axis <-45.> speed <30.>;
}
if( Static_Var_5 )
{
turn torso_joint to x-axis <-30.> speed <30.>;
}
if( Static_Var_5 )
{
wait-for-turn head_joint around y-axis;
}
if( Static_Var_5 )
{
turn torso_joint to z-axis <10.> speed <15.>;
}
if( Static_Var_5 )
{
turn lthigh_joint to x-axis <0.> speed <15.>;
}
if( Static_Var_5 )
{
turn lthigh_joint to y-axis <-10.> speed <15.>;
}
if( Static_Var_5 )
{
turn rthigh_joint to x-axis <-30.> speed <15.>;
}
if( Static_Var_5 )
{
turn rthigh_joint to y-axis <-10.> speed <15.>;
}
if( Static_Var_5 )
{
turn lleg_joint to x-axis <0.> speed <15.>;
}
if( Static_Var_5 )
{
turn rleg_joint to x-axis <10.> speed <15.>;
}
if( Static_Var_5 )
{
turn rarm_joint to x-axis <75.> speed <15.>;
}
if( Static_Var_5 )
{
wait-for-turn torso_joint around y-axis;
}
if( Static_Var_5 )
{
wait-for-turn larm_joint around x-axis;
}
if( Static_Var_5 )
{
wait-for-turn rarm_joint around x-axis;
}
}
}


MotionControl(moving, aiming, justmoved)
{
var Func_Var_4;
justmoved = TRUE;
Func_Var_4 = 0;
while( TRUE )
{
moving = bMoving;
aiming = bAiming;
if( moving )
{
if( aiming )
{
Static_Var_3 = 1;
Static_Var_5 = 0;
Func_Var_4 = 0;
}
if( !aiming )
{
Static_Var_3 = 0;
Static_Var_5 = 0;
Func_Var_4 = 1;
}
call-script walk(Func_Var_4);
justmoved = TRUE;
}
if( !moving )
{
Static_Var_3 = 1;
if( justmoved )
{
if( !aiming )
{
sleep 2000;
Static_Var_5 = 1;
start-script relax();
}
turn rthigh_joint to x-axis <0.> speed <200.>;
turn rleg_joint to x-axis <0.> speed <200.>;
turn rfoot_joint to x-axis <0.> speed <200.>;
turn lthigh_joint to x-axis <0.> speed <200.>;
turn lleg_joint to x-axis <0.> speed <200.>;
turn lfoot_joint to x-axis <0.> speed <200.>;
justmoved = FALSE;
}
sleep 200;
}
}
}


Create()
{
bMoving = FALSE;
bAiming = FALSE;
Static_Var_3 = 1;
Static_Var_5 = 1;
dont-shade base;
dont-shade hip;
dont-shade chest;
dont-shade ribs;
dont-shade collar;
dont-shade neck;
dont-shade bothead;
dont-shade tophead;
dont-shade visor;
dont-cache visor;
dont-shade pack;
dont-cache pack;
dont-shade tubes;
dont-shade launchers;
dont-shade shoulders;
dont-shade rarm;
dont-shade larm;
dont-shade rwrist;
dont-shade lwrist;
dont-shade rhand;
dont-shade lhand;
dont-shade rthigh;
dont-shade rleg;
dont-shade rfoot;
dont-shade lthigh;
dont-shade lleg;
dont-shade lfoot;
start-script MotionControl();
gun_1 = base;
}



StartMoving()
{
bMoving = TRUE;
}

StopMoving()
{
bMoving = FALSE;
}

SweetSpot(piecenum)
{
piecenum = base;
}

FirePrimary()
{
if( gun_1 == 0 )
{
turn torso_joint to y-axis <-35.> speed <310.>;
gun_1 = hip_joint;
sleep 20;
wait-for-turn torso_joint around y-axis;
turn torso_joint to z-axis <0.> speed <30.>;
return (0);
}
if( gun_1 == 1 )
{
turn torso_joint to y-axis <35.> speed <310.>;
gun_1 = base;
sleep 20;
wait-for-turn torso_joint around y-axis;
turn torso_joint to z-axis <0.> speed <30.>;
return (0);
}
}

AimFromPrimary(piecenum)
{
if( gun_1 == 0 )
{
piecenum = rflare;
}
if( gun_1 == 1 )
{
piecenum = lflare;
}
}

QueryPrimary(piecenum)
{
if( gun_1 == 0 )
{
piecenum = rflare;
}
if( gun_1 == 1 )
{
piecenum = lflare;
}
}

reset()
{
sleep 2000;
move hip_joint to y-axis [0.] speed [200.];
move torso_joint to y-axis [0.] speed [200.];
move hip_joint to z-axis [0.] speed [200.];
move torso_joint to z-axis [0.] speed [200.];
turn head_joint to z-axis <0.> speed <200.>;
turn hip_joint to z-axis <0.> speed <200.>;
turn torso_joint to z-axis <0.> speed <200.>;
turn rarm_joint to z-axis <0.> speed <200.>;
turn larm_joint to z-axis <0.> speed <200.>;
turn rwrist_joint to z-axis <0.> speed <200.>;
turn lwrist_joint to z-axis <0.> speed <200.>;
turn rhand_joint to z-axis <0.> speed <200.>;
turn lhand_joint to z-axis <0.> speed <200.>;
turn rthigh_joint to z-axis <0.> speed <200.>;
turn rleg_joint to z-axis <0.> speed <200.>;
turn rfoot_joint to z-axis <0.> speed <200.>;
turn lthigh_joint to z-axis <0.> speed <200.>;
turn lleg_joint to z-axis <0.> speed <200.>;
turn lfoot_joint to z-axis <0.> speed <200.>;
turn head_joint to y-axis <0.> speed <200.>;
turn hip_joint to y-axis <0.> speed <200.>;
turn torso_joint to y-axis <0.> speed <200.>;
turn rarm_joint to y-axis <0.> speed <200.>;
turn larm_joint to y-axis <0.> speed <200.>;
turn rwrist_joint to y-axis <0.> speed <200.>;
turn lwrist_joint to y-axis <0.> speed <200.>;
turn rhand_joint to y-axis <0.> speed <200.>;
turn lhand_joint to y-axis <0.> speed <200.>;
turn rthigh_joint to y-axis <0.> speed <200.>;
turn rleg_joint to y-axis <0.> speed <200.>;
turn rfoot_joint to y-axis <0.> speed <200.>;
turn lthigh_joint to y-axis <0.> speed <200.>;
turn lleg_joint to y-axis <0.> speed <200.>;
turn lfoot_joint to y-axis <0.> speed <200.>;
turn head_joint to x-axis <0.> speed <200.>;
turn hip_joint to x-axis <0.> speed <200.>;
turn torso_joint to x-axis <0.> speed <200.>;
turn rarm_joint to x-axis <0.> speed <200.>;
turn larm_joint to x-axis <0.> speed <200.>;
turn rwrist_joint to x-axis <0.> speed <200.>;
turn lwrist_joint to x-axis <0.> speed <200.>;
turn rhand_joint to x-axis <0.> speed <200.>;
turn lhand_joint to x-axis <0.> speed <200.>;
turn rthigh_joint to x-axis <0.> speed <200.>;
turn rleg_joint to x-axis <0.> speed <200.>;
turn rfoot_joint to x-axis <0.> speed <200.>;
turn lthigh_joint to x-axis <0.> speed <200.>;
turn lleg_joint to x-axis <0.> speed <200.>;
turn lfoot_joint to x-axis <0.> speed <200.>;
bAiming = FALSE;
Static_Var_5 = 1;
start-script relax();
}


AimPrimary(heading, pitch)
{
signal SIG_AIM;
set-signal-mask SIG_AIM;
bAiming = TRUE;
Static_Var_5 = 0;
while( !Static_Var_3 )
{
sleep 100;
}
Static_Var_6 = 0 - pitch;
turn torso_joint to y-axis heading speed <135.>;
turn torso_joint to x-axis Static_Var_6 speed <135.>;
turn head_joint to y-axis heading speed <185.>;
turn head_joint to x-axis Static_Var_6 speed <175.>;
wait-for-turn torso_joint around y-axis;
wait-for-turn torso_joint around x-axis;
sleep 2000;
start-script reset();
return (1);
}


Killed(severity, corpsetype)
{
if( severity <= 25 )
{
corpsetype = 1;
explode chest type BITMAPONLY | BITMAP1;
return (0);
}
if( severity <= 100 )
{
corpsetype = 2;
explode chest type BITMAPONLY | BITMAP1;
return (0);
}
if( severity <= 99 )
{
corpsetype = 3;
explode chest type BITMAPONLY | BITMAP1;
return (0);
}
corpsetype = 3;
explode chest type BITMAPONLY | BITMAP1;
return (0);
}
Archangel of Death
Posts: 854
Joined: 28 Jan 2005, 18:15

Post by Archangel of Death »

Ok. That was a fun variable tracking excercise, only to find that wasn't the problem. Remove the sleep 2000; from the bottum of AimPrimary(). Spring calls the script many times per second, so it is never getting to the end of the AimPrimary() and the return(1), which tells it that it can now fire.

I'd also like to encourage you to go throw and replace anywhere where a variable is made equal to a piecename with it's numerical equivalent (based on its position in the piece list). Junk like "gun_1 = base", its confusing and prone to problems if the piece list gets changed.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

I'm making new cursors.
After playing around with some ideas I decided to start with some concept art before I invest a lot of time in 3D models and stuff.
Would like to have some feedback.
You can throw in your own concept art if you like.
Cursors are like a icon, they need to make clear what the action is you are going to preform.
Xect and Mynn need 10 cursor animations and one regular cursor.
Attack, Capture, Defend, Move, Patrol, Pick-up, Reclamate, Repair, Revive, Unload and the "normal" cursor.
Anyway, I made some examples

Attack:
Image
Capture:
Image
Defend:
Image
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Post by PauloMorfeo »

Can the cursors have alpha, so we can have partially transparent parts?
I was thinking of the "Guard" cursor showing a shield glowing.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

At thins moment it's not posible to have partially transparant parts afaik.
But it's won't be hard to put in a alpha layer once it's supported.

Shield glowing.. sounds like warcraft.
Can't really think of how a shield for Spring should look like.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Post by PauloMorfeo »

Tim Blokdijk wrote:...
Shield glowing.. sounds like warcraft.
Can't really think of how a shield for Spring should look like.
:shock: I mean like an energy shield around ... something. Not like a metal shield from the middle-ages.

The sequence of images of the cursor are strict, as in «must be 10 frames»? If so, how many? Or it can be as long as we want?
User avatar
NOiZE
Balanced Annihilation Developer
Posts: 3984
Joined: 28 Apr 2005, 19:29

Post by NOiZE »

can we get some screens..
User avatar
Min3mat
Posts: 3455
Joined: 17 Nov 2004, 20:19

Post by Min3mat »

the defense one is really weird but i love the others, any chance of getting these in a custom vsn of xta
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I've contacted zenoclone about the problem with AI and he replies with somethign about either spring nto beign setup properly or soemthign todo with how Xect uses OTA textures and files in some places.

Missing data might be a reason, the AI crashes in a palce that yields no clues, and it seems ti creates exceptions when ti calls for a untidef. Perhaps sprign is missing somethign so ti doesnt laod correctly causing a cascade of instability. Youc ans ee this as in spring a untis dependencies arent checked till ti apepars on the map. eg using the latest version fo WD on fileunvierse I could fidn spring paused for a few secodns when buildign the dod unti that ahd a missing texture, then carried on whereas OTA would have crashed outright.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Post by PauloMorfeo »

http://taspring.clan-sy.com/phpbb/viewtopic.php?t=3034
I've made some concept art and i'm showing it there.
User avatar
FoeOfTheBee
Posts: 557
Joined: 12 May 2005, 18:26

Post by FoeOfTheBee »

There are definitely some missing textures and I think some missing weapons. I'm getting married the day after tomorrow, so it might be a few weeks before I release the next version.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Congratulations! :o
I don't think anybody is in a hurry.

Chris Han is ok with moving Xect and Mynn to the svn.
I think that we could move to the svn once things like the missing textures/weapons problems are fixed?
And the few copyright problems are dealt with to.
What do you think?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I found the problem in NTAI that amde ti crash udner Xect and Mynn and i think I've fixed ti btu havent tested ti out. Cains metal class crashes on load and as a result th agents that make NTAI run never start. Thus when theyg et called an exception occurs and no work is done.
User avatar
PauloMorfeo
Posts: 2004
Joined: 15 Dec 2004, 20:53

Post by PauloMorfeo »

Foe OfTheBee wrote:... I'm getting married the day after tomorrow, ...
Good luck :P and congratulations.
xenoclone
Posts: 8
Joined: 30 Aug 2005, 23:11

Post by xenoclone »

Hey guys,

I know that for every sound/texture in the Mynn, I made sure it was all either original or royalty free to use. As for the Xect-- I honestly can't remember. I know under Fair Use you can get away with using short clips of sounds. When you buy SFX discs, for example, you can tell some sounds have been clipped out of TV shows. Now, I know early on I actually used "gag" sounds in the Xect... like the Intel chime. Those sort of things are protected and, in theory, I removed those. But it's been a while. The Xect also points to some OTA sounds, wreckage textures, and weapon models. Since they're not included in the download, there's no legal problem AFAIK, but it would cause the Spring to crash if you didn't have the OTA files installed. You'd probably have to repoint those textures/weapons/etc to some Mynn files that are similar (and there should be).

Anyway, I hope this is useful. I wish I still had time to work on either of them.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Tim Blokdijk wrote:I'm making new cursors.
After playing around with some ideas I decided to start with some concept art before I invest a lot of time in 3D models and stuff.
Would like to have some feedback.
You can throw in your own concept art if you like.
Cursors are like a icon, they need to make clear what the action is you are going to preform.
Xect and Mynn need 10 cursor animations and one regular cursor.
Attack, Capture, Defend, Move, Patrol, Pick-up, Reclamate, Repair, Revive, Unload and the "normal" cursor.
Anyway, I made some examples

Attack:
Image
Capture:
Image
Defend:
Image
Triforce anyone?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I did an NTAI test yesterday and NTAI didnt laod at all btu I played anyways and found that the 2 races togetehr use too many textures for a 3d0 model mod. Wreckages ahd the telltale collage of mini textures on them

A number of Xect aircraft didnt fire either, and xect units have a dark purplish square udnerneath them that shows and messes it up visually. The same with the xect bomber.
xenoclone
Posts: 8
Joined: 30 Aug 2005, 23:11

Post by xenoclone »

Hmmm.... I know that for the aircraft, I sometimes did a "shadow plate" to make it so there were shadows for them. For whatever reason, I tried be super-efficient in poly-count for them.

If you guys want, I can email the original LWO files to you for any "new" units in the Xect (some were old units refurbished, so to speak), as well as any textures (since I made them all except the Xect wreckage).

I have a little bit of spare time between now and early January. So I can give whatever help you need in that time.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Nice to see you dropping by :-)
Xect & Mynn are going to be a fine mod for Spring.

Would like to have the LWO files, I don't expect to use them right away but it won't hurt to have them around.

Another question: is there a background story for Xect & Mynn?
I ask because Zoombie on the forum here might be interested in writing a background story for the Xect & Mynn.
Post Reply

Return to “Game Development”