hedgewars/uCollisions.pas
2018-11-23 nemo overall, using LongInt for leftX/rightX results in fewer casts, since most comparisons are against ints.
2018-10-27 alfadur make firepunch hit moving gears (airmines are not amused)
2018-07-10 Wuzzy Refactor collision mask checks, remove hardcoded numbers
2018-07-10 Wuzzy Refactor: lfCurrentHog→lfCurHogCrate, lfNotCurrentMask→lfNotCurHogCrate
2018-03-11 alfadur Fix minigun bullets sometimes failing to hit when shooting same thing twice in row
2018-01-31 alfadur Machinegun. also tweaked ignore
2016-03-03 nemo Break up the hog/object collision. Currently is $7F, allowing 128 overlapping objects accurately. Breaking it up into 15 for hogs, 7 for other objects. I'm thinking the overall accuracy should be just fine as far as people noticing even with a ton of overlapping hogs, and this way we can tell the difference between a hog and "something else". For experiment and rope-breaking purposes, make rope pass through hogs.
2016-01-31 unc0rr Bye-bye TryDo
2015-09-10 sheepluva small code cleanup
2015-08-10 sheepluva more copyright fixes
2015-02-14 nemo Add placement of airmines in engine outside of hog proximity. Has a bug, only protecting 1st team. Also fix a spelling error and rename gstHHChooseTarget to gstChooseTarget
2014-12-08 nemo nil out CurrentHedgehog in FreeModule, add a test for nil'd CurrentHedgehog in DelCI since I'd still like to use DeleteGear for the other stuff it does. Move some variable initialiasations in AI Misc to hopefully avoid some uninit val errors.
2014-11-25 nemo Skip checkin on collision for frequently spammed gear types if collision gets huge instead of trying to delete mines.
2014-11-14 unC0Rr Fix warnings given by 32-bit fpc
2014-07-05 sheepluva WIP: weSea tweaks, functional and visual
2014-02-04 sheepluva update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
2014-01-21 koda partial merge of the webgl branch
2014-01-17 sheepluva update copyright to 2014
2014-01-04 unc0rr merge default webgl
2013-12-02 sheepluva fix for: uCollisions.pas(63,50) Hint: Unit "uGearsList" not used in uCollisions
2013-12-01 nemo Make sticky mine respect lfBouncy, make hogs do same, kinda... make uCollisions return land w/ mask, restrict bouncy to advbounce gears only, which means piano doesn't bounce anymore
2013-11-22 nemo gear deletion called inappropriately.
2013-11-20 nemo return land word from uCollisions to make decisions based on it. Should be handy for trampoline.
2013-10-11 koda merge with latest defaul, fixing compiling with fpc, parsing and rendering with pas2c, some minor problems with compiling with clang webgl
2013-07-01 nemo bug #668 + reorder conditions for kick slightly, to call the math last
2013-06-27 nemo Make add/delete consistent (this has bugged me for so long)
2013-06-18 koda BOM, pas2c only support ASCII webgl
2013-06-23 nemo poor AI thought he should avoid stepping on frozen crates, and jump for non-frozen ones
2013-05-29 unc0rr bump copyright year for Andrey entries
2013-05-22 nemo Make frozen crates uncollectable, add some tinting to frozen items. Suggestions needed for what should happen to explosives
2013-03-18 nemo More flagging of Land values. Also use less than for tests of non-terrain, instead of "and $FF00 = 0". Saves a couple of ops, which actually matters a small amount in a few places.
2013-03-17 nemo Add some flags for a few of the magic Land values
2012-10-18 nemo damn nots
2012-10-15 nemo Try to prevent a situation where hogs embedded in other hogs/barrels/cleavers get stuck, by checking for gears overlapping on Y
2012-10-14 nemo First pass at cleaver.
2012-08-05 nemo Also flag cases. Side effect might be some odd collision in rare cases w/ portals. Also, might cause unexpected collisions w/ cases in TestColl - although we could add a proximity check to the flag there, or simply switch to TestCollExcludingMe again. uCollisions seems mismatched w/ AI TestColl anyway. Possibly r+1+r vs r+r for gear diametre.
2012-06-27 nemo Extend TARDIS away time a bit (minimum, range) to make it a bit more useful. Remove a couple of unused variables.
2012-06-24 nemo Second part of the change. Make collision check use the new mask bit.
2012-06-24 nemo Step 1. Add current hedgehog as top bit of bottom byte.
2012-06-23 unc0rr - Fix cake bug introduced in r2ccfc93c6b5e
2012-05-02 koda marked a couple of functions as inline
2012-05-02 koda change every return value into a more pascal-ish form, using the name of the fucntion (helps the parser and macpas compaitilibity)
2012-05-02 koda add support for default pascal mode by removing default arguments value (maybe this also helps the parser)
2012-02-17 koda the most important commit of the year
2012-01-17 lovelacer A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
2011-12-30 unc0rr Fix build
2011-11-27 unc0rr Countless imporvements to the parser and countless help to the parser in sources.
2011-11-04 sheepluva I hope this helps...
2011-10-10 sheepluva something for nemo to play around with
2011-10-10 sheepluva make slope calcs skip small gaps
2011-10-02 nemo Basic test implementation of an ice flag. Allows for slick parts of terrain. Intended for ice gun, or "ice" mask on portions of land objects.
2011-09-15 sheepluva TestRectForObstacle: areas outside map borders are not passable
2011-09-14 sheepluva lua: boolean TestRectForObstacle(x1, y1, x2, y2, landOnly)
2011-09-10 sheepluva rollin' back my silly hack ( rea4d1fe665d7 )
2011-09-09 sheepluva move hedgehogs out of walls
2011-09-03 nemo Reenable a bunch of old portal play stuff, like dropping grenade into portal on hog, jumping through portal w/ hog on other end, collecting crate w/ portal etc. Also add cooldown to cake/portal interaction. It may still not do what you expect, but it probably shouldn't spin in place.
2011-08-15 unc0rr Why so suspicious?
2011-08-15 nemo suggestion of mikade's - delete old mines if the collision array shows signs of filling up. This is kind of an edge case, esp now that array is up to 1024, but should prevent (easiest) way to crash by collision array overflow (endless mines/minestrikes).
2011-08-15 nemo bump up max collision to 1024 entries
2011-06-22 nemo This can afford to be a bit larger. Does not impact performance.
2011-03-01 koda Happy 2011 :)
2010-12-31 sheepluva fix sticky rope issue
2010-12-26 nemo ok. restore old [r + 1 + r] for gear width for a moment, and reset snowballs.
2010-12-26 nemo +2 was intended to be consistent on diametre (1px + radius *2) but screws up bullet
2010-11-21 unc0rr uDebug
2010-11-18 unC0Rr Haven't found a better place than uIO for OutError
2010-11-17 unc0rr uLand isn't that important to them
2010-11-17 unC0Rr Move variables from uMisc to uVariables
2010-11-17 unC0Rr Introduce unit uTypes in order to remove some cyclic unit dependencies
2010-07-31 koda remove trailing spaces from end of line
2010-07-03 nemo Minor fire tweak for readability and lethalness, remove exit condition that was hanging game (identified by jaylittle)
2010-07-02 nemo Revert prior attempted optimisation. Gridding the land pays in some situations, but not all. Restricting to an upper bound might help, but overall, seems too fuzzy to be worth it. On one side is increased cost of Add/Delete + extra test on collision check, on the other is skipping the list iteration. Perhaps for large lists.
2010-07-01 nemo Grid the landscape, and shortcircuit checks on the collision array if there are no nearby checked in collisions to be collided with. This is a big win for fire's ammoshove in particular. Also add a +2 that seemed missing in the check, and update fire accordingly.
2010-06-26 sheepluva portal / slope detection:
2010-05-17 nemo Skip collision on X for barrels that aren't knocked over
2010-05-17 nemo Increase minimum threshold for barrel damage to reduce likelihood of blowing one up on jumping out, increase damage to compensate (may need tweaking). Only apply dX for collision w/ kick if barrel is rolling.
2010-05-04 sheepluva some portal changes, warning: no loop prevention yet, note: entry angle not preserved yet
2010-05-03 sheepluva allow kicking of barrels
2010-05-03 sheepluva tweak land angle detection/portal a bit
2010-05-02 smxx Engine:
2010-05-02 sheepluva add a part of my landslide vector collision and use if for the portal gun DirAngle, not flawless yet
2010-04-01 nemo Update (c) lines to 2010 as unc0rr requested - they all had varying values so I just took the first year mentioned, then tacked on -2010
2010-03-21 unc0rr In pascal unit is a namespace
2010-03-06 unc0rr Replace tabs with spaces using 'expand -t 4' command
2010-01-26 koda complete the replacement of init/free wrappers for every unit
2009-11-20 koda revamped file access and debug display
2009-11-05 koda move compiler directives to standard pascal
2009-04-12 unc0rr nemo's patch + ropes ammo scheme hack
2009-01-25 unc0rr Apply nemo's world resize patch
2008-12-04 unc0rr More stable blowtorch:
2008-11-21 unc0rr - Some reformatting
2008-07-07 unc0rr Update copyright headers a bit
2008-06-01 unc0rr Don't let jumping hedgehog to move others
2008-05-06 unc0rr Double increase collision array size
2008-04-27 unc0rr Update copyright info in source files headers
2008-04-21 unc0rr - Fix too long delay between shotgun and deagle shots
2008-04-13 unc0rr Fix broken logic for the new parachute feature
2008-04-12 unc0rr Remove tailing spaces in some places
2007-06-17 unc0rr - Get rid of ammoProp_AttackInFall and gstFalling
2007-06-06 unc0rr - Various small fixes
2007-06-04 unc0rr - Fix some stupid bugs in collisions detecting code
2007-05-24 unc0rr - Fix some collision bugs
2007-05-21 unc0rr - Don't kick cases by moving hedgehog
2007-05-18 unc0rr Fix firepunch regression
2007-05-14 unc0rr Moving hedgehog could get another hedgehog moving forward
2007-05-09 unc0rr - Further work on new collisions implementation
2007-05-04 unc0rr Fix old bug with grenade(bomd, etc..) not colliding with attacking hedgehog
2007-05-02 unc0rr Fix collision info artifacts in Land array when two objects intersect
2007-03-17 unc0rr - Get rid of operator := to have GPC support
2007-02-05 unc0rr Update copyright information
2007-01-27 unc0rr integer -> LongInt
2007-01-21 unc0rr Fixed-point arithmetics in engine.
2006-10-05 unc0rr Relicense to GPL
2006-08-11 unc0rr - Many type fixes
2006-07-08 unc0rr - Unicode support for team and hedgehogs names
2006-06-23 unc0rr - Many AI improvements
2006-06-20 unc0rr Collision-related stuff
2006-06-14 unc0rr - Start AI rewrite
2006-02-05 unc0rr No more hedgehogs hung in air
2006-02-01 unc0rr - Fixed compiling .)
less more (0) -120 tip