Just my 2 cents.
On each saving BASIC writes DECLARE (at least QBasic does that).
so it puts parameter types in DECLARE, like
DECLARE SUB wallcheck (playerdircheck!, playerwallcheck!)
(see "!")?
after adding DEFINT parameter type is changed, hence error
"parameter type mismatch"
You can just...