Jump to content
Blue Purple Red Orange Gold Green Teal Chocolate Charcoal
Blue Purple Red Orange Gold Green Teal Chocolate Charcoal
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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...