Jump to content

giantjeff

Modding Questions? Ask Them Here.

Recommended Posts


How come when I use ord2o, the file sizes stay relatively the same, but when i use o2ord, the ord file is like 200 MB or even more?

Share this post


Link to post
Share on other sites

How come when I use ord2o, the file sizes stay relatively the same, but when i use o2ord, the ord file is like 200 MB or even more?

what files are you playing around with?

Share this post


Link to post
Share on other sites

stadium files after extracting jacoday.big with gfxpak

Share this post


Link to post
Share on other sites

decompress ord & orl files before you convert them to an .o files

How?

And my problem is that when I convert the .o file into .ord and .orl, the .ord is too big (like 200MB), and the .orl is 0kb...

Share this post


Link to post
Share on other sites

I moved the "LocLock" thread into here, since it had become overrun with questions by Compmaniac. Please try to keep all modding questions you have to this thread. Thanks guys, have fun.

Share this post


Link to post
Share on other sites

How?

And my problem is that when I convert the .o file into .ord and .orl, the .ord is too big (like 200MB), and the .orl is 0kb...

Yes I know your problem

like I said decompress the .ord and .orl before converting them to a .o file

Share this post


Link to post
Share on other sites

ChicagoCubs720 do the orl & ord files inside a stadium always remain the same?

3dcrowd.ord


3dcrowd.orl


3dflag.ord


3dflag.orl


alphablend.ord


alphablend.orl


background0.ord


background0.orl


background1.ord


background1.orl


background2.ord


background2.orl


camaligned.ord


camaligned.orl


cammen.ord


cammen.orl


colouradd.ord


colouradd.orl


crowd.ord


crowd.orl


jumbo.ord


jumbo.orl


mfield0.ord


mfield0.orl


mfield1.ord


mfield1.orl


mfield2.ord


mfield2.orl


mshadow.ord


mshadow.orl


mstadium.ord


mstadium.orl


net.ord


net.orl


remcrowd0.ord


remcrowd0.orl


remcrowd1.ord


remcrowd1.orl


remcrowd2.ord


remcrowd2.orl


remcrowd3.ord


remcrowd3.orl


remcrowd4.ord


remcrowd4.orl


remcrowd5.ord


remcrowd5.orl


removable.ord


removable.orl


sky0.ord


sky0.orl


sky1.ord


sky1.orl


sky2.ord


sky2.orl


sky3.ord


sky3.orl


sky4.ord


sky4.orl


track.ord


track.orl


useraligned.ord


useraligned.orl

Share this post


Link to post
Share on other sites

I used fifafs, and gfxpak...

but in either one of them, how come I can't use *.big instead of test.big?

It doesn't work...

For fifaFS, I used:

fifafs -e *.big cram32.fsh cram32.fsh

It should get the cram32.fsh out of the big file, but it doesn't.

However,

fifafs -e test.big cram32.fsh cram32.fsh

Why?

sounds like fifafs will not except a wildcard when extracting files

Share this post


Link to post
Share on other sites

How can I make alpha pictures? I need them for my Mexican pack

Share this post


Link to post
Share on other sites

an alpha is just a 8bit greyscale BMP image

make a greyscale image with photoshop and save it as such

Share this post


Link to post
Share on other sites

How can i make the main image to a grayscale image?

Share this post


Link to post
Share on other sites

Yes I know your problem

like I said decompress the .ord and .orl before converting them to a .o file

So how do I decompress? Using fifaFS?

sounds like fifafs will not except a wildcard when extracting files

So how would I have the user copy the .ord and .orl files into a folder, and select those two files? (I could only think of wildcard...)

Share this post


Link to post
Share on other sites

fix the
[quote]

problem with your post

Problem fixed. :)

Yes I know your problem

like I said decompress the .ord and .orl before converting them to a .o file

So how do I decompress? Using fifaFS?

sounds like fifafs will not except a wildcard when extracting files

So how would I have the user copy the .ord and .orl files into a folder, and select those two files? (I could only think of wildcard...)

Share this post


Link to post
Share on other sites

use something like this TWICE

one for orl

one for ord

the have the program run of the two files they selected

Orl

VOID DIALOG_FileOpen(VOID)


{


	OPENFILENAME openfilename;




	WCHAR szPath[MAX_PATH];


	WCHAR szDir[MAX_PATH];


	static const WCHAR szDefaultExt[] = { 'o','r','l',0 };


	static const WCHAR txt_files[] = { '*','.','o','r','l',0 };


	ZeroMemory(&openfilename, sizeof(openfilename));


	GetCurrentDirectory(SIZEOF(szDir), szDir);


	lstrcpy(szPath, txt_files);


	openfilename.lStructSize	   = sizeof(openfilename);


	openfilename.hwndOwner		 = Globals.hMainWnd;


	openfilename.hInstance		 = Globals.hInstance;


	openfilename.lpstrFilter	   = Globals.szFilter;


	openfilename.lpstrFile		 = szPath;


	openfilename.nMaxFile		  = SIZEOF(szPath);


	openfilename.lpstrInitialDir   = szDir;






	openfilename.Flags			 = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST |


		OFN_HIDEREADONLY;


	openfilename.lpstrDefExt	   = szDefaultExt;


	if (GetOpenFileName(&openfilename)) {


		if (FileExists(openfilename.lpstrFile))


			DoOpenFile(openfilename.lpstrFile);


		else


			AlertFileNotFound(openfilename.lpstrFile);


	}


}
ORD
VOID DIALOG_FileOpen(VOID)


{


	OPENFILENAME openfilename;




	WCHAR szPath[MAX_PATH];


	WCHAR szDir[MAX_PATH];


	static const WCHAR szDefaultExt[] = { 'o','r','d',0 };


	static const WCHAR txt_files[] = { '*','.','o','r','d',0 };


	ZeroMemory(&openfilename, sizeof(openfilename));


	GetCurrentDirectory(SIZEOF(szDir), szDir);


	lstrcpy(szPath, txt_files);


	openfilename.lStructSize	   = sizeof(openfilename);


	openfilename.hwndOwner		 = Globals.hMainWnd;


	openfilename.hInstance		 = Globals.hInstance;


	openfilename.lpstrFilter	   = Globals.szFilter;


	openfilename.lpstrFile		 = szPath;


	openfilename.nMaxFile		  = SIZEOF(szPath);


	openfilename.lpstrInitialDir   = szDir;






	openfilename.Flags			 = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST |


		OFN_HIDEREADONLY;


	openfilename.lpstrDefExt	   = szDefaultExt;


	if (GetOpenFileName(&openfilename)) {


		if (FileExists(openfilename.lpstrFile))


			DoOpenFile(openfilename.lpstrFile);


		else


			AlertFileNotFound(openfilename.lpstrFile);


	}


}

Share this post


Link to post
Share on other sites

use something like this

{


  OPENFILENAME ofn;








  char szFilter[1024] = "Image Files (*.orl,*.ord)0*.orl;*.ord00";




  // seems that dest buffer must be null terminated for GetOpenFileName.....


  *pszDestBuffer = '0';




  memset(&ofn, 0, sizeof(ofn));




		ofn.lStructSize = sizeof(OPENFILENAME);


		ofn.hwndOwner = hWndParent;


		ofn.lpstrFilter = szFilter;




		ofn.lpstrInitialDir = pszInitialDir;


		ofn.hInstance = NULL;


		ofn.lpstrTitle = pszTitle;


		ofn.lpstrFileTitle = NULL;


		ofn.lpstrFile = pszDestBuffer;


		ofn.nMaxFile = 32768;


		ofn.lpstrDefExt = "";


		ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT;




		BOOL bRet = GetOpenFileName(&ofn);




		if (0 == bRet)


		{


				DWORD dwError = CommDlgExtendedError();


				//_ASSERTE(SUCCEEDED(dwError));


		}




		return bRet;


}

I don't undersatnd that code at all. Is it C++? And is there any easier way to do it?

Share this post


Link to post
Share on other sites

So how do I decompress? Using fifaFS?

I always use EAZIP, but if you want to make it an internal function

/* QFS compression quality factor */


#define QFS_MAXITER 50  /* quick and not so bad */




void compress_data(unsigned char *inbuf,int *buflen,unsigned char *outbuf)


{




#define WINDOW_LEN (1<<17)


#define WINDOW_MASK (WINDOW_LEN-1)




  unsigned char *inrd,*inref,*incmp;


  int *rev_similar; /* where is the previous occurrence */


  int **rev_last;   /* idem */


  int offs,len,bestoffs,bestlen,lastwrot,i;


  int inpos,inlen,outpos;


  int *x;




  inlen=*buflen;


  inpos=0;


  inrd=inbuf;


  rev_similar=(int *)malloc(4*WINDOW_LEN);


  rev_last=(int **)malloc(256*sizeof(int *));


  if (rev_last) rev_last[0]=(int *)malloc(65536*4);




  if ((outbuf==NULL)||(rev_similar==NULL)||


	  (rev_last==NULL)||(rev_last[0]==NULL))


	{ printf("Insufficient memory.n"); abort(); }


  for (i=1;i<256;i++) rev_last[i]=rev_last[i-1]+256;


  memset(rev_last[0],0xff,65536*4);


  memset(rev_similar,0xff,4*WINDOW_LEN);




  outbuf[0]=0x10; outbuf[1]=0xFB;


  outbuf[2]=inlen>>16; outbuf[3]=(inlen>>8)&255; outbuf[4]=inlen&255;


  outpos=5;


  lastwrot=0;




  /* main encoding loop */


  for (inpos=0,inrd=inbuf;inpos<inlen;inpos++,inrd++) {


	if ((inpos&0x3fff)==0) { putchar('.'); fflush(stdout); }


	/* adjust occurrence tables */


	x=rev_last[*inrd]+(inrd[1]);


	offs=rev_similar[inpos&WINDOW_MASK]=*x;


	*x=inpos;


	/* if this has already been compressed, skip ahead */


	if (inpos<lastwrot) continue;




	/* else look for a redundancy */


	bestlen=0; i=0;


	while ((offs>=0)&&(inpos-offs<WINDOW_LEN)&&(i++<QFS_MAXITER)) {


	  len=2; incmp=inrd+2; inref=inbuf+offs+2;


	  while ((*(incmp++)==*(inref++))&&(len<1028)) len++;


	  if (len>bestlen) { bestlen=len; bestoffs=inpos-offs; }


	  offs=rev_similar[offs&WINDOW_MASK];


	}




	/* check if redundancy is good enough */


	if (bestlen>inlen-inpos) bestlen=inpos-inlen;


	if (bestlen<=2) bestlen=0;


	if ((bestlen==3)&&(bestoffs>1024)) bestlen=0;


	if ((bestlen==4)&&(bestoffs>16384)) bestlen=0;




	/* update compressed data */


	if (bestlen) {


	  while (inpos-lastwrot>=4) {


		len=(inpos-lastwrot)/4-1;


		if (len>0x1B) len=0x1B;


		outbuf[outpos++]=0xE0+len;


		len=4*len+4;


		memcpy(outbuf+outpos,inbuf+lastwrot,len);


		lastwrot+=len;


		outpos+=len;


	  }


	  len=inpos-lastwrot;


	  if ((bestlen<=10)&&(bestoffs<=1024)) {


		outbuf[outpos++]=(((bestoffs-1)>>8)<<5)+((bestlen-3)<<2)+len;


		outbuf[outpos++]=(bestoffs-1)&0xff;


		while (len--) outbuf[outpos++]=inbuf[lastwrot++];


		lastwrot+=bestlen;


	  }


	  else if ((bestlen<=67)&&(bestoffs<=16384)) {


		outbuf[outpos++]=0x80+(bestlen-4);


		outbuf[outpos++]=(len<<6)+((bestoffs-1)>>8);


		outbuf[outpos++]=(bestoffs-1)&0xff;


		while (len--) outbuf[outpos++]=inbuf[lastwrot++];


		lastwrot+=bestlen;


	  }


	  else if ((bestlen<=1028)&&(bestoffs<WINDOW_LEN)) {


		bestoffs--;


		outbuf[outpos++]=0xC0+((bestoffs>>16)<<4)+(((bestlen-5)>>8)<<2)+len;


		outbuf[outpos++]=(bestoffs>>8)&0xff;


		outbuf[outpos++]=bestoffs&0xff;


		outbuf[outpos++]=(bestlen-5)&0xff;


		while (len--) outbuf[outpos++]=inbuf[lastwrot++];


		lastwrot+=bestlen;


	  }


	}


  }




  /* end stuff */


  inpos=inlen;


  while (inpos-lastwrot>=4) {


	len=(inpos-lastwrot)/4-1;


	if (len>0x1B) len=0x1B;


	outbuf[outpos++]=0xE0+len;


	len=4*len+4;


	memcpy(outbuf+outpos,inbuf+lastwrot,len);


	lastwrot+=len;


	outpos+=len;


  }


  len=inpos-lastwrot;


  outbuf[outpos++]=0xFC+len;


  while (len--) outbuf[outpos++]=inbuf[lastwrot++];




  if (lastwrot!=inlen) {


	printf("Something strange happened at the end of compression!n");


	abort();


  }


  *buflen=outpos;


}

Share this post


Link to post
Share on other sites

I always use EAZIP, but if you want to make it an internal function

/* QFS compression quality factor */


#define QFS_MAXITER 50  /* quick and not so bad */




void compress_data(unsigned char *inbuf,int *buflen,unsigned char *outbuf)


{




#define WINDOW_LEN (1<<17)


#define WINDOW_MASK (WINDOW_LEN-1)




  unsigned char *inrd,*inref,*incmp;


  int *rev_similar; /* where is the previous occurrence */


  int **rev_last;   /* idem */


  int offs,len,bestoffs,bestlen,lastwrot,i;


  int inpos,inlen,outpos;


  int *x;




  inlen=*buflen;


  inpos=0;


  inrd=inbuf;


  rev_similar=(int *)malloc(4*WINDOW_LEN);


  rev_last=(int **)malloc(256*sizeof(int *));


  if (rev_last) rev_last[0]=(int *)malloc(65536*4);




  if ((outbuf==NULL)||(rev_similar==NULL)||


	  (rev_last==NULL)||(rev_last[0]==NULL))


	{ printf("Insufficient memory.n"); abort(); }


  for (i=1;i<256;i++) rev_last[i]=rev_last[i-1]+256;


  memset(rev_last[0],0xff,65536*4);


  memset(rev_similar,0xff,4*WINDOW_LEN);




  outbuf[0]=0x10; outbuf[1]=0xFB;


  outbuf[2]=inlen>>16; outbuf[3]=(inlen>>8)&255; outbuf[4]=inlen&255;


  outpos=5;


  lastwrot=0;




  /* main encoding loop */


  for (inpos=0,inrd=inbuf;inpos<inlen;inpos++,inrd++) {


	if ((inpos&0x3fff)==0) { putchar('.'); fflush(stdout); }


	/* adjust occurrence tables */


	x=rev_last[*inrd]+(inrd[1]);


	offs=rev_similar[inpos&WINDOW_MASK]=*x;


	*x=inpos;


	/* if this has already been compressed, skip ahead */


	if (inpos<lastwrot) continue;




	/* else look for a redundancy */


	bestlen=0; i=0;


	while ((offs>=0)&&(inpos-offs<WINDOW_LEN)&&(i++<QFS_MAXITER)) {


	  len=2; incmp=inrd+2; inref=inbuf+offs+2;


	  while ((*(incmp++)==*(inref++))&&(len<1028)) len++;


	  if (len>bestlen) { bestlen=len; bestoffs=inpos-offs; }


	  offs=rev_similar[offs&WINDOW_MASK];


	}




	/* check if redundancy is good enough */


	if (bestlen>inlen-inpos) bestlen=inpos-inlen;


	if (bestlen<=2) bestlen=0;


	if ((bestlen==3)&&(bestoffs>1024)) bestlen=0;


	if ((bestlen==4)&&(bestoffs>16384)) bestlen=0;




	/* update compressed data */


	if (bestlen) {


	  while (inpos-lastwrot>=4) {


		len=(inpos-lastwrot)/4-1;


		if (len>0x1B) len=0x1B;


		outbuf[outpos++]=0xE0+len;


		len=4*len+4;


		memcpy(outbuf+outpos,inbuf+lastwrot,len);


		lastwrot+=len;


		outpos+=len;


	  }


	  len=inpos-lastwrot;


	  if ((bestlen<=10)&&(bestoffs<=1024)) {


		outbuf[outpos++]=(((bestoffs-1)>>8)<<5)+((bestlen-3)<<2)+len;


		outbuf[outpos++]=(bestoffs-1)&0xff;


		while (len--) outbuf[outpos++]=inbuf[lastwrot++];


		lastwrot+=bestlen;


	  }


	  else if ((bestlen<=67)&&(bestoffs<=16384)) {


		outbuf[outpos++]=0x80+(bestlen-4);


		outbuf[outpos++]=(len<<6)+((bestoffs-1)>>8);


		outbuf[outpos++]=(bestoffs-1)&0xff;


		while (len--) outbuf[outpos++]=inbuf[lastwrot++];


		lastwrot+=bestlen;


	  }


	  else if ((bestlen<=1028)&&(bestoffs<WINDOW_LEN)) {


		bestoffs--;


		outbuf[outpos++]=0xC0+((bestoffs>>16)<<4)+(((bestlen-5)>>8)<<2)+len;


		outbuf[outpos++]=(bestoffs>>8)&0xff;


		outbuf[outpos++]=bestoffs&0xff;


		outbuf[outpos++]=(bestlen-5)&0xff;


		while (len--) outbuf[outpos++]=inbuf[lastwrot++];


		lastwrot+=bestlen;


	  }


	}


  }




  /* end stuff */


  inpos=inlen;


  while (inpos-lastwrot>=4) {


	len=(inpos-lastwrot)/4-1;


	if (len>0x1B) len=0x1B;


	outbuf[outpos++]=0xE0+len;


	len=4*len+4;


	memcpy(outbuf+outpos,inbuf+lastwrot,len);


	lastwrot+=len;


	outpos+=len;


  }


  len=inpos-lastwrot;


  outbuf[outpos++]=0xFC+len;


  while (len--) outbuf[outpos++]=inbuf[lastwrot++];




  if (lastwrot!=inlen) {


	printf("Something strange happened at the end of compression!n");


	abort();


  }


  *buflen=outpos;


}

so i can just use eazip to decompress ord and orl?

Share this post


Link to post
Share on other sites

I don't undersatnd that code at all. Is it C++? And is there any easier way to do it?

yes it is c++

Let me edit it a bit

Share this post


Link to post
Share on other sites

What would i have to do in order to replace one of the teams in the game with a custom/created team? Also what would i have to do to replace the logo and team name in the menus?

Share this post


Link to post
Share on other sites

so i can just use eazip to decompress ord and orl?

you can use EAZIP to decompress any EA compressed file

eazip -u file.name

Share this post


Link to post
Share on other sites

What would i have to do in order to replace one of the teams in the game with a custom/created team? Also what would i have to do to replace the logo and team name in the menus?

to switch a team

1-10 scale on how hard

change team audio (5 to switch already made audio) (10 to make the audio)

change logo (1 using Fuzz's logo changer)

edit roster files (3 text edit these files team.dat, tstat.dat, & org.dat)

edit loc files (2 use LOClook, search for old name, enter new name)

import new team using MVPedit (1 pretty straight forward)

Share this post


Link to post
Share on other sites

to switch a team

1-10 scale on how hard

change team audio (5 to switch already made audio) (10 to make the audio)

change logo (1 using Fuzz's logo changer)

edit roster files (3 text edit these files team.dat, tstat.dat, & org.dat)

edit loc files (2 use LOClook, search for old name, enter new name)

import new team using MVPedit (1 pretty straight forward)

Thanks, what i basically want to do is take the Nats and switch them with a custom team, the roster will stay the same i just want to do uniforms, logos, and the menu name and logo change, and maybe some audio, but i doubt it, and a staidum change, not really looking for a custom stadium right now. Kraw do you think you could point me in the right direction as to how i go about changing the menu names and logos, and also the stadium?

Share this post


Link to post
Share on other sites

to switch a team

1-10 scale on how hard

change team audio (5 to switch already made audio) (10 to make the audio)

change logo (1 using Fuzz's logo changer)

edit roster files (3 text edit these files team.dat, tstat.dat, & org.dat)

edit loc files (2 use LOClook, search for old name, enter new name)

import new team using MVPedit (1 pretty straight forward)

Would you use the same method to create a NEW team?

yes it is c++

Let me edit it a bit

How do you know that much C++? Also, how would I use it?...just use the return value of the function? And just exactly how does it work?

Share this post


Link to post
Share on other sites

How do you know that much C++? Also, how would I use it?...just use the return value of the function? And just exactly how does it work?

There are people whose actual JOB it is to code. Sometimes - that means coding in C++. I should know... I used to be one of those people. :)

Share this post


Link to post
Share on other sites

only way to change the stadium is to rename the stadium file names

find the stadium you want and change the file name to rfksday.big & rfksnite.big

Menu names are in the loc files, dowload loclook

http://www.mvpmods.com/Downloads/details/id=2338.html

you have two loc files FEENG.LOC & IGENG.LOC, load one and search for your text and replace it. Do the same think again on the other loc files

some menu names are taken from the roster files too, edit these 3 files with notepad (or any text editor) team.dat, tstat.dat, & org.dat. you will need to change the abbreviation, city name, & team name.

for logos use this

http://www.mvpmods.com/Downloads/details/id=2969.html

Share this post


Link to post
Share on other sites

There are people whose actual JOB it is to code. Sometimes - that means coding in C++. I should know... I used to be one of those people. :)

not me, I'm a construction worker

Share this post


Link to post
Share on other sites

Would you use the same method to create a NEW team?

You have to replace a team, 124 teams max in the game (all are already taken)

How do you know that much C++? Also, how would I use it?...just use the return value of the function? And just exactly how does it work?

I know very little C++ to be honest, but look at the fixed code.

after the 1st open file set the return to equal a variable called orlfilename

run 2nd function set that return equal a variable called ordfilename

then make a variable called otempfilename based off either of the 1st 2 variables but trimmed by 3 character.

make ofilename based off of otempfilename but add an O to the end of it

run the program using the variables

string commandstring = "ord2o " + ordfilename + " " + orlfilename + " "ofilename;

Share this post


Link to post
Share on other sites

you can use any photo editing software really to greyscale it but i think it needs to be 8-bit to work in mvp not sure tho? photoshop is the best but its not to cheap

Share this post


Link to post
Share on other sites

I have photoshop and i figured out how to greyscale it, but everytime i try to load the alpha the logo changer keeps on telling me that i didn't select the proper alpha file FILE, what does that mean?

Share this post


Link to post
Share on other sites

try selecting the whole image and cpoying it to your clipbord then go file-new

and set the new image to the correct size and make it greyscale the whe you save make sure it says 8 bit i always do it that way and ive never had a problem

Share this post


Link to post
Share on other sites

oh and while im here is ther a program out there that does something similar to kraws portrait maker for faces cuz im pretty good at photoshp but have no clue how to tun them into cyberface files that mvp understands

Share this post


Link to post
Share on other sites

is their a tutorial out explaining how to make overlays? can anyone explain how to do this or point me in the right dirrection

Share this post


Link to post
Share on other sites

only way to change the stadium is to rename the stadium file names

find the stadium you want and change the file name to rfksday.big & rfksnite.big

Menu names are in the loc files, dowload loclook

http://www.mvpmods.com/Downloads/details/id=2338.html

you have two loc files FEENG.LOC & IGENG.LOC, load one and search for your text and replace it. Do the same think again on the other loc files

some menu names are taken from the roster files too, edit these 3 files with notepad (or any text editor) team.dat, tstat.dat, & org.dat. you will need to change the abbreviation, city name, & team name.

for logos use this

http://www.mvpmods.com/Downloads/details/id=2969.html

Could I make a tool to atuomate that process? And is there a command-prompt pogram for editing loc files?

Share this post


Link to post
Share on other sites

not me, I'm a construction worker

Like, with contstruction paper? Do you make arts & crafts?

Can you make me a paper hat that is a scale-replica of the GABP? :)

Share this post


Link to post
Share on other sites

Could I make a tool to atuomate that process? And is there a command-prompt pogram for editing loc files?

you would have to prompt for new stadium name or have a drop down list of all names

I know of no command line loc editor

and simple search and replace would work for the roster files but again you would have to prompt for the new names, and store all the info for the 124 teams and have the user select which team to switch out

Share this post


Link to post
Share on other sites

Like, with contstruction paper? Do you make arts & crafts?

Can you make me a paper hat that is a scale-replica of the GABP? :)

Millwright

Share this post


Link to post
Share on other sites

Millwright

I learned something today.

Derived from the trade of carpentry, a millwright originally was a specialised carpenter who was trained as a carpenter and as well had working knowledge of gear ratios, driveshaft speeds, and other equations. The "mill" in millwright refers to the genesis of the trade in flour mills. Biographies of some millwrights who were located in Norwich, England can be found here. Several important early civil engineers were originally trained as millwrights, including James Brindley and John Rennie.

A millwright today is someone who maintains or constructs industrial machinery such as that which would be related to assembly lines, also pumps, valves, printing presses, etc. Millwrights are usually responsible for the unassembled equipment when it arrives at the job site. Using hoisting and moving equipment they position the pieces that need to be assembled. Their job requires a thorough knowledge of the load bearing capabilities of the equipment they use as well as an understanding of blueprints and technical instructions.

Most millwrights are educated through apprenticeship programs where they receive a combination of classroom education along with a good deal of on the job training. Most programs last about 4 years. The apprenticeships usually pay a small stipend that increases with experience.

A high percentage of millwrights join unions to help protect their interests and those with a high level of skill often start their own businesses as independent contractors.

Compmaniac - Since you're looking for a way to "mass" change stadiums and teams, etc - Are you thinking of some kind of total conversion mod? For instance, changing it to college, or a foreign league, etc?

Share this post


Link to post
Share on other sites

I don't know if you could do this, but here goes:

A Stadium Editing tool that could:

-utilize ord2o.exe and o2ord.exe to easily turn a .ord and .orl file into a .o file and back (this would also be helpful for cyberface makers, so we wouldn't have to keep creating .bat files)

-automatically generates mip-maps in the stadium's cram32.fsh file (when you edit an image, it also resizes it and creates all the needed mipmaps and the alpha images to go with them)

-edits the index.fsh file contained in the cram32.fsh so that you can easily resize an image

Might be hard to follow but is this what you want

BTW using tga files allow the alpha to be part of the main image it is the 5th channel (1st four being RBG, Red, Blue, & Green)

need directory layout


main/


main/big folder/


main/big folder/.o folder/


main/big folder/o original/


main/big folder/o updated/


main/big folder/cram32 folder/


main/big folder/cram32/tga folder/


main/big folder/cram32/updated dds folder/




step one


select stadium file


copy file to main folder


create big folder


depack stadium into big folder


rename stadium.big to stadium.bak


decompress stadium files


convert all orl & ord files to .o files and move to the main/big folder/o original/ folder


export cram32.fsh to the main/big folder/cram32 folder/ 


convert all dds file to tga to the main/big folder/cram32/tga folder/




between steps 1 & 2 the modder mods the files he wants changed




step 2 & 3


allow user to select tga to convert to dds (type and mips settings, read index to set default info) and put them in the main/big folder/cram32/updated dds folder/


allow user to select image and change size info in index file




step 4, 5 & 6


move main/big folder/cram32/updated dds folder/ files to main/big folder/cram32


delete main/big folder/cram32/updated dds folder/ & main/big folder/cram32/tga folder/


rebuld cram32.fsh and move to main/big folder/




delete all orl & ord files in main/big folder/


move main/big folder/o original/ to main/big folder/


main/big folder/o updated/ to main/big folder


covert all .o to .orl & .ord


del main/big folder/o updated/, main/big folder/o original/, and all .o files


compress correct files in main/big folder/


rebuild stadium.big and place in main/

Share this post


Link to post
Share on other sites

I learned something today.

I mainly work in power houses, and sometimes car plants

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×