113 lfBouncy = $0400; // green |
113 lfBouncy = $0400; // green |
114 lfLandMask = $FF00; // upper byte is used for terrain, not objects. |
114 lfLandMask = $FF00; // upper byte is used for terrain, not objects. |
115 |
115 |
116 lfCurrentHog = $0080; // CurrentHog. It is also used to flag crates, for convenience of AI. Since an active hog would instantly collect the crate, this does not impact play |
116 lfCurrentHog = $0080; // CurrentHog. It is also used to flag crates, for convenience of AI. Since an active hog would instantly collect the crate, this does not impact play |
117 lfNotCurrentMask = $FF7F; // inverse of above. frequently used |
117 lfNotCurrentMask = $FF7F; // inverse of above. frequently used |
118 lfObjMask = $007F; // lower 7 bits used for hogs |
118 lfObjMask = $007F; // lower 7 bits used for hogs and explosives and mines |
119 lfNotObjMask = $FF80; // inverse of above. |
119 lfNotObjMask = $FF80; // inverse of above. |
|
120 |
|
121 // breaking up hogs would makes it easier to differentiate |
|
122 // colliding with a hog from colliding with other things |
|
123 // if overlapping hogs are less common than objects, the division can be altered. |
|
124 // 3 bits for objects, 4 for hogs, that is, overlap 7 barrels/mines before possible dents, and 15 hogs. |
|
125 lfHHMask = $000F; // lower 4 bits used only for hogs |
|
126 lfNotHHObjMask = $0070; // next 3 bits used for non-hog things |
|
127 lfNotHHObjShift = 4; |
|
128 lfNotHHObjSize = lfNotHHObjMask shr lfNotHHObjShift; |
|
129 |
120 // lower byte is for objects. |
130 // lower byte is for objects. |
121 // consists of 0-127 counted for object checkins and $80 as a bit flag for current hog. |
131 // consists of 0-127 counted for object checkins and $80 as a bit flag for current hog. |
122 lfAllObjMask = $00FF; // lfCurrentHog or lfObjMask |
132 lfAllObjMask = $00FF; // lfCurrentHog or lfObjMask |
|
133 |
123 |
134 |
124 |
135 |
125 cMaxPower = 1500; |
136 cMaxPower = 1500; |
126 cMaxAngle = 2048; |
137 cMaxAngle = 2048; |
127 cPowerDivisor = 1500; |
138 cPowerDivisor = 1500; |