Airfield attack from B17s (Full Version)

All Forums >> [Current Games From Matrix.] >> [World War II] >> War In The Pacific - Struggle Against Japan 1941 - 1945



Message


Knaust -> Airfield attack from B17s (10/31/2004 8:07:26 PM)

My clever opponent is harassing my Jap airfields with B17s raids at 35000 feets...every time he scores heavy tolls from my planes...on 140 based planes, some 40 got lost from a 24 plane raid!
Those B17 cannot be catched by no Jap plane...however, is it realistic scoring such a heavy toll from that height?[:(]




pasternakski -> RE: Airfield attack from B17s (10/31/2004 8:13:18 PM)

This is a known bug that is ostensibly fixed in the 1.30 poatch ... which is rumored to exist somewhere in cyberspace and may or may not find its way into the hands of all the impatient CUSTOMERS who have suspended play pending its release. There are some other bugs that some of us see as showstoppers (the leader leak, the perpetual US old battleships without radar, and the randomly squirting ground combat retreat effect, to name three of them).




KPAX -> RE: Airfield attack from B17s (10/31/2004 8:17:23 PM)

quote:

ORIGINAL: Knaust

My clever opponent is harassing my Jap airfields with B17s raids at 35000 feets...every time he scores heavy tolls from my planes...on 140 based planes, some 40 got lost from a 24 plane raid!
Those B17 cannot be catched by no Jap plane...however, is it realistic scoring such a heavy toll from that height?[:(]


As Basternakski so well put it.....

This is a known bug.

You need to contact your opponent and tell him to stop flying at 30k or above.

He may not be aware of this, so you may need to refer him to the forum.




Knaust -> RE: Airfield attack from B17s (10/31/2004 8:20:00 PM)

thx....does new patch need restarting the game?...and in the meanwhile, which house rule must the Allied player use?




Knaust -> RE: Airfield attack from B17s (10/31/2004 8:21:25 PM)

thx KPAX...ouch...I had to contact the forum a while before...I lost 300 planes on the ground till now[:(]




Platoonist -> RE: Airfield attack from B17s (10/31/2004 9:11:22 PM)

Patch shouldn't require a re-start although if you want all the OOB changes you should. You and your opponent should also beware of the over-effectiveness of night air attacks as well. Somes like there is always one more bug to kill.




freeboy -> RE: Airfield attack from B17s (10/31/2004 9:35:59 PM)

I think the actual flight level to error out is 33200 or there abouts




Mr.Frag -> RE: Airfield attack from B17s (10/31/2004 9:58:24 PM)

It is a math problem with signed integers.

Max is 32767 feet which is 7fff in hex, adding one more makes it 8000 in hex which is actually a negative number so the accuracy numbers go through the roof.




Knaust -> RE: Airfield attack from B17s (11/1/2004 9:34:28 AM)

uhmm...I don't think it is a matter of altitude...it seems to me that 40 planes lost on the ground out of 140 based to an attack of 24 B17s flying at 35000 feet is far too excessive.
Otherwise this is the secret Allied weapon in the starting days[:'(]




michaelm75au -> RE: Airfield attack from B17s (11/1/2004 10:22:38 AM)

The problem is that the B-17 attack is currently TOO accurate at the excessive (>32K) altitude due to this bug.
When the patch is released, the accurracy will be corrected and you probably wont get the same result of 40 out of 140 destroyed.
Michael




Mr.Frag -> RE: Airfield attack from B17s (11/1/2004 12:25:01 PM)

A little math lesson for those interested in why bugs happen.

a signed short integer can hold decimal values from -32,768 to +32,767

a unsigned short interger can hold decimal values from 0 to 65535

The difference between a signed and unsigned value is the leftmost bit is reserved for the sign.

This is known as 2's complement (-2 to the power of n-1 through +2 to the power of n-1 -1) where n is the number of bits used.

A 16 bit number in our case becomes a 15 bit number + the sign bit.

in decimal, 32767

in binary, 0111 1111 1111 1111

when you look at the binary it becomes very obvious what happens when you add 1

1000 0000 0000 0000 is the new value.

Looks fine but in reality due to the sign bit, this is -32768, not 32768. As you continue to add 1, 32769 is actually -32767, 32770 is -32766 etc all the way until 65535 is reached which is -1.

Since the routine happened to be checking alt vs effectiveness, attacking from a large negative altitude results in the effectiveness going into the 100%+ range.




Knaust -> RE: Airfield attack from B17s (11/1/2004 12:52:20 PM)

damn...who will pay me for over 300 planes lost on the ground due to these B17 attacks?[:-]




Oliver Heindorf -> RE: Airfield attack from B17s (11/1/2004 1:10:38 PM)

why ou guys used a signed bit ? since a plane cant fly below the ground height....why using the signed bit ? just courious




Mr.Frag -> RE: Airfield attack from B17s (11/1/2004 2:00:32 PM)

quote:

why using the signed bit


I would assume that it was not intentional ... compilers are funny things at times, one finds out that in one version the defaults are one way and in another, they are another way. Probably just a missing type declare statement somewhere and it happened to default the wrong way.




Barlock -> RE: Airfield attack from B17s (11/1/2004 3:04:23 PM)

quote:

ORIGINAL: Knaust

damn...who will pay me for over 300 planes lost on the ground due to these B17 attacks?[:-]


Win the war - then you can sue the Allies for reparations! [:D]




Oliver Heindorf -> RE: Airfield attack from B17s (11/1/2004 3:10:49 PM)

thanks Ray , this explains it ( probably )

btw : at 35000 feet you ait see a s**t and no, usually, all bombs should land into the nirvana as it is just too height esp in the pac war area because of the foggy air ( too much water in the air becasue of the temperature - dont know the word Luftfeuchtigkeit in english )




Raverdave -> RE: Airfield attack from B17s (11/1/2004 3:22:50 PM)

quote:

ORIGINAL: Mr.Frag

A little math lesson for those interested in why bugs happen.

a signed short integer can hold decimal values from -32,768 to +32,767

a unsigned short interger can hold decimal values from 0 to 65535

The difference between a signed and unsigned value is the leftmost bit is reserved for the sign.

This is known as 2's complement (-2 to the power of n-1 through +2 to the power of n-1 -1) where n is the number of bits used.

A 16 bit number in our case becomes a 15 bit number + the sign bit.

in decimal, 32767

in binary, 0111 1111 1111 1111

when you look at the binary it becomes very obvious what happens when you add 1

1000 0000 0000 0000 is the new value.

Looks fine but in reality due to the sign bit, this is -32768, not 32768. As you continue to add 1, 32769 is actually -32767, 32770 is -32766 etc all the way until 65535 is reached which is -1.

Since the routine happened to be checking alt vs effectiveness, attacking from a large negative altitude results in the effectiveness going into the 100%+ range.


I read this four times now and I am buggered if I can understand what he is saying[sm=crazy.gif]




Mr.Frag -> RE: Airfield attack from B17s (11/1/2004 3:32:33 PM)

You sure you want more math? It only hurts more from here on. [:D]

Unsigned integers: (0-15)

0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
13 = 1101
14 = 1110
15 = 1111

In twos complement, the leftmost bit becomes the sign of the number (0 for positives, 1 for negatives)

Signed Integers (-8 to +7)

0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
-8 = 1000
-7 = 1001
-6= 1010
-5 = 1011
-4 = 1100
-3 = 1101
-2 = 1110
-1 = 1111

To convert a negative, one applies the twos complement and adds 1:

looking at lets say -5, we see 1011. We ignore the sign bit (1)011 and reverse the other bits:

011 becomes 100 ... now look up 100 and we see that = 4. To this we add the 1. and we get 5. To this we add the minus bit and end up with -5 ... simple stuff [;)]

Anytime you do math and the number of bits exceed the number of bits available to store the number, you get an overflow condition.

With unsigned math (using the above 4 bit values) you can see that adding 1 to 15 or 0001 + 1111 is going to result in 16 or 10000 (hmm, wheres that extra bit go? we overflowed into the value sitting beside us in memory. whoops!)

With signed math (using the above 4 bit values) you can see that adding 1 to 7 or 0001 + 0111 is going to result in -8 or 1000 (hmm, whoops, we just broke something)

Detecting unsigned overflow is a lot easier then signed overflow as it corrupts the value in the next location. Signed overflow does not corrupt anything, it just converts the number into something unexpected.

Now, in our particular bug ...

we are using much larger numbers, but the rules are the same ...

0111 1111 1111 1111 (32767) + 0000 0000 0000 0001 (1) = 1000 0000 0000 0000 (-32768)




Oliver Heindorf -> RE: Airfield attack from B17s (11/1/2004 3:37:28 PM)

quote:

ORIGINAL: Mr.Frag

You sure you want more math? It only hurts more from here on. [:D]



you cant annoy me with that , no, you cant. But think about the poor Raver hehe, have mercy with him [:D]




Mr.Frag -> RE: Airfield attack from B17s (11/1/2004 3:53:45 PM)

BTW: This is exactly the same problem people ran into when putting devices in slots past 255. The device location for ship weapons is an unsigned 8 bit value or 255 = 1111 1111.

Adding 1 to it does not get you to slot 256, it gets you to slot 0 with the 1 0000 0000 (extra bit) being ignored.




tsimmonds -> RE: Airfield attack from B17s (11/1/2004 3:58:10 PM)

quote:

Luftfeuchtigkeit
= humidity (what you feel), or haze (what you can't see through)




Page: [1]

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
7.669922