GCI2012: Advanced Keyboard Configuration
- Added "Controls" tab to settings, where you can set master game-wide controls.
- Can revert master key bindings to game's default key bind.
- Per-team binds now default to "Use my default", but you can override those binds if you want to.
- New key binding interface.
- Removed redundant second confirmation prompt for deleting a team.
- Added "reset all binds" button to the binding interface in both the main settings and team settings.
- I discovered that the reason keyboard camera controls were "broken" is because they were never implemented! But don't worry - I took care of that for you, too. :)
(this also closes
bug #120)
unit uCursor;
interface
procedure init;
procedure resetPosition;
procedure updatePosition;
procedure handlePositionUpdate(x, y: LongInt);
implementation
uses SDLh, uVariables;
procedure init;
begin
resetPosition();
end;
procedure resetPosition;
begin
SDL_WarpMouse(cScreenWidth div 2, cScreenHeight div 2);
end;
procedure updatePosition;
var x, y: LongInt;
begin
SDL_GetMouseState(@x, @y);
if(x <> cScreenWidth div 2) or (y <> cScreenHeight div 2) then
begin
handlePositionUpdate(x - cScreenWidth div 2, y - cScreenHeight div 2);
if cHasFocus then
SDL_WarpMouse(cScreenWidth div 2, cScreenHeight div 2);
end
end;
procedure handlePositionUpdate(x, y: LongInt);
begin
CursorPoint.X:= CursorPoint.X + x;
CursorPoint.Y:= CursorPoint.Y - y;
end;
end.