some fixes

Everything related to the code /
Tout ce qui touche au code
Post Reply
User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

some fixes

Post by zuzuf » Fri Nov 24, 2006 9:04 pm

the LANG_FRENCH, LANG_ENGLISH, defs are fixed replaced with:
TA3D_LANG_****

I replaced the int pointers[]; in gaf.cpp by

int *pointers=new int[];
...
delete[] pointers;

so it should be platform safe like this. I am looking for similar things in the code and fix them.
=>;-D Penguin Powered

User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

Post by zuzuf » Sat Nov 25, 2006 2:12 pm

I have added some features:
_factories now can make the unit they are building turn and set its position where it should be
_the 'severity' parameter for killing scripts is now calculated properly
_units can explode into multiple parts!

I also fixed a bug in stdafx.h on linux 32:
the uint64max & uint64min ... cannot be initialized by a constant!! So max and min are now computed from sizeof(uint64)
=>;-D Penguin Powered

User avatar
Balthazar
Moderator
Posts: 2055
Joined: Wed Nov 01, 2006 4:31 pm
Location: Russian Federation
Contact:

Post by Balthazar » Sat Nov 25, 2006 5:36 pm

That`s awesome!!! Zuff, you are keeping blow my head off :shock:
What can we do with texture multiplexing when different building are build on surface and some part of them are covered with surface polygons (for example Aicraft plant). Maybe we should lift it a bit above the ground ? :)

AND VERY USEFULL thing - Zuzuf, there are should be info (maybe under build menu) about Unit HP, Dmg and Experience. This is extremely usefull info, as it seems to players. Hope we don`t forget this small but very usefull feature.

User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

Post by zuzuf » Sat Nov 25, 2006 6:13 pm

I have just modified the laser drawing function in order to have a real laser not a straight line!

I also fixed a few bugs.

I don't know how I will fix this drawing bug with some buildings, maybe with some polygon offset. I will add code to show info about units but there is still no experience for units, I will see that later.
=>;-D Penguin Powered

User avatar
Cire
Moderator
Posts: 350
Joined: Tue Oct 31, 2006 5:59 pm
Location: Somewhere on Earth

Post by Cire » Sat Nov 25, 2006 6:32 pm

zuf, when you get a min please goto irc.

oh I also had to make some changes to variable max's/mins mine reads...

Code: Select all

	const uint64 uint64max =  0xffffffffffffffff;
	const uint64 uint64min =                   0;
	const sint64 sint64max =  0x7fffffffffffffff;
	const sint64 sint64min = (-9223372036854775807i64 - 1);

	const uint32 uint32max =  0xffffffff;
	const uint32 uint32min =           0;
	const sint32 sint32max =  0x7fffffff;
	const sint32 sint32min = (-2147483647i32 - 1);

	const uint16 uint16max =  0xffff;
	const uint16 uint16min =       0;
	const sint16 sint16max =  0x7fff;
	const sint16 sint16min = -0x8000;

	const uint8  uint8max  =  0xff;
	const uint8  uint8min  =     0;
	const sint8  sint8max  =  0x7f;
	const sint8  sint8min  = -0x80;

	const uchar  ucharmax  =  0xff;
	const uchar  ucharmin  =     0;
	const schar  scharmax  =  0x7f;
	const schar  scharmin  = -0x80;
++Cire.

User avatar
Balthazar
Moderator
Posts: 2055
Joined: Wed Nov 01, 2006 4:31 pm
Location: Russian Federation
Contact:

Post by Balthazar » Sat Nov 25, 2006 8:10 pm

Zuzuf, about polygon collision - maybe you can fix it using z-buffer.

About Experience - we must think about this now, while units style are not finished yet, at least preserve some bytes :roll: for the modders.

User avatar
zuzuf
Administrateur - Site Admin
Posts: 3281
Joined: Mon Oct 30, 2006 8:49 pm
Location: Toulouse, France
Contact:

Post by zuzuf » Sat Nov 25, 2006 8:55 pm

I made a few changes to max/min defs because it didn't build on linux 32 because uint64 is 4 bytes on this platform. I made it detect the max/min values for uint64. But why are we defining this?? we don't use 64 bits int!

Code: Select all

   const uint64 uint64max =  (((uint64)1<<((sizeof(uint64)*8)-1))-1<<1)|1;
   const uint64 uint64min =                   0;
   const sint64 sint64max =  (((sint64)1<<((sizeof(sint64)*8)-2))-1<<1)|1;
   const sint64 sint64min = (-sint64max - 1);

   const uint32 uint32max =  0xffffffff;
   const uint32 uint32min =           0;
   const sint32 sint32max =  0x7fffffff;
   const sint32 sint32min = (-2147483647 - 1);

   const uint16 uint16max =  0xffff;
   const uint16 uint16min =       0;
   const sint16 sint16max =  0x7fff;
   const sint16 sint16min = -0x8000;

   const uint8  uint8max  =  0xff;
   const uint8  uint8min  =     0;
   const sint8  sint8max  =  0x7f;
   const sint8  sint8min  = -0x80;

   const uchar  ucharmax  =  0xff;
   const uchar  ucharmin  =     0;
   const schar  scharmax  =  0x7f;
   const schar  scharmin  = -0x80;
polygon collision occurs because of the z-buffer: two polygons have nearly the same Z values so sometimes it's polygon 1 on top and sometimes it's polygon 2. May be I can reconfigure the z-buffer function.
=>;-D Penguin Powered

Post Reply

Who is online

Users browsing this forum: No registered users and 27 guests