annotate srogue/mdport.c @ 86:8757a0593e6e

srogue: add arrow-key support. This is a first attempt which may not be completely portable.
author John "Elwin" Edwards
date Sat, 10 Aug 2013 17:43:58 -0700
parents
children ea71ef31d9be
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
86
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
1 /*
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
2 mdport.c - Machine Dependent Code
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
3
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
4 Copyright (C) 2005-2008 Nicholas J. Kisseberth
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
5 All rights reserved.
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
6
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
7 Redistribution and use in source and binary forms, with or without
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
8 modification, are permitted provided that the following conditions
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
9 are met:
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
10 1. Redistributions of source code must retain the above copyright
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
11 notice, this list of conditions and the following disclaimer.
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
12 2. Redistributions in binary form must reproduce the above copyright
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
13 notice, this list of conditions and the following disclaimer in the
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
14 documentation and/or other materials provided with the distribution.
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
15 3. Neither the name(s) of the author(s) nor the names of other contributors
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
16 may be used to endorse or promote products derived from this software
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
17 without specific prior written permission.
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
18
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
19 THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTORS ``AS IS'' AND
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
20 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
21 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
22 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTORS BE LIABLE
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
23 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
24 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
25 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
26 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
27 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
28 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
29 SUCH DAMAGE.
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
30 */
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
31
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
32 /* This is a temporary stub version of rogue5's mdport.c. It is only to make
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
33 * md_readchar() available until srogue is ported to autoconf. Then the
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
34 * whole file should work.
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
35 */
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
36
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
37 #include <stdlib.h>
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
38 #include <string.h>
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
39
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
40 #if defined(_WIN32)
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
41 #include <Windows.h>
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset
42 #include <Lmcons.h>
8757a0593e6e srogue: add arrow-key support.
John "Elwin" Edwards
parents:
diff changeset