The OBBs have a position(x,y), a velocity(x,y) and an orientation(Matrix). Given periodic updates, the OBBs must collide with each other, returning the fraction of the move tha
If you have two bounding boxes (i.e. rectangles) with some arbitrary orientation (which I assume means some "rotation"), then I would do the following:
EDIT: A rough pseudocode (incorporating what was discussed in the comments) would look as follows:
...test for intersections between the OBB edges...
if any intersections are found{
...run code for when OBBs are partially overlapping...
}else{
P = line segment whose endpoints are the OBB centers;
...test for intersections between P and OBB edges...
if P intersects edges of both OBBs{
...run code for when OBBs are not touching...
}else{
...run code for when one OBB is completely inside the other...
}
}