Jump to content

Modding Questions? Ask Them Here.


giantjeff

Recommended Posts

  • Replies 614
  • Created
  • Last Reply

Top Posters In This Topic

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

Link to comment
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

Link to comment
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

Link to comment
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...)

Link to comment
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...)

Link to comment
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);


	}


}

Link to comment
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?

Link to comment
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;


}

Link to comment
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?

Link to comment
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)

Link to comment
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?

Link to comment
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...