hedgewars/uConsole.pas
author sheepluva
Tue, 02 Dec 2014 20:20:04 +0100
changeset 10605 df7a73db2c43
parent 10490 b30b8d39d662
child 11046 47a8c19ecb60
permissions -rw-r--r--
oops, IOResult is a function in pascal, but not in pas2c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
     1
(*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 1035
diff changeset
     2
 * Hedgewars, a free turn based strategy game
9998
736015b847e3 update copyright to 2014
sheepluva
parents: 9080
diff changeset
     3
 * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
     4
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
     8
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
    12
 * GNU General Public License for more details.
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    13
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
    14
 * You should have received a copy of the GNU General Public License
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded 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
sheepluva
parents: 10015
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    17
 *)
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    18
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2599
diff changeset
    19
{$INCLUDE "options.inc"}
079ef82eac75 revamped file access and debug display
koda
parents: 2599
diff changeset
    20
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    21
unit uConsole;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    22
interface
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    23
785
ac538f1a629e Start console OpenGL reincarnation
unc0rr
parents: 783
diff changeset
    24
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    25
procedure WriteToConsole(s: shortstring);
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    26
procedure WriteLnToConsole(s: shortstring);
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    27
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    28
var lastConsoleline : shortstring;
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    29
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    30
implementation
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    31
uses Types, uUtils {$IFDEF ANDROID}, log in 'log.pas'{$ENDIF};
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    32
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    33
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    34
procedure WriteToConsole(s: shortstring);
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    35
begin
3818
e668970413e6 add a noconsole symbol, update the project file for appstore distribution
koda
parents: 3777
diff changeset
    36
{$IFNDEF NOCONSOLE}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    37
    AddFileLog('[Con] ' + s);
5661
45618bdce725 Fixed AddFileLog, there's now a log created in /sdcard/Android/data/org.hedgewars.mobile/cache/Data/
Xeli
parents: 5460
diff changeset
    38
{$IFDEF ANDROID}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    39
    //TODO integrate this function in the uMobile record
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6528
diff changeset
    40
    Log.__android_log_write(Log.Android_LOG_DEBUG, 'HW_Engine', ShortStringAsPChar('[Con]' + s));
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    41
{$ELSE}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    42
    Write(stderr, s);
3818
e668970413e6 add a noconsole symbol, update the project file for appstore distribution
koda
parents: 3777
diff changeset
    43
{$ENDIF}
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    44
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    45
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    46
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    47
procedure WriteLnToConsole(s: shortstring);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    48
begin
3825
fd6c20cd90e3 typos, reduced sound size and last minute fixes
koda
parents: 3818
diff changeset
    49
{$IFNDEF NOCONSOLE}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    50
    WriteToConsole(s);
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    51
{$IFNDEF ANDROID}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    52
    WriteLn(stderr, '');
3818
e668970413e6 add a noconsole symbol, update the project file for appstore distribution
koda
parents: 3777
diff changeset
    53
{$ENDIF}
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    54
{$ENDIF}
9958
5a222923c8f8 - Don't define NOCONSOLE
unc0rr
parents: 9080
diff changeset
    55
    lastConsoleline:= s;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    56
end;
10490
b30b8d39d662 Fix some stuff from coverity
unc0rr
parents: 10108
diff changeset
    57
{$IFDEF ANDROID}
6444
eddc1e9bcd81 - Help parser more
unc0rr
parents: 6033
diff changeset
    58
function ShortStringAsPChar(s: shortstring) : PChar;
6027
302408e45052 code working on ios now
koda
parents: 5661
diff changeset
    59
begin
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6528
diff changeset
    60
    if Length(s) = High(s) then
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6528
diff changeset
    61
        Dec(s[0]);
6027
302408e45052 code working on ios now
koda
parents: 5661
diff changeset
    62
    s[Ord(Length(s))+1] := #0;
10490
b30b8d39d662 Fix some stuff from coverity
unc0rr
parents: 10108
diff changeset
    63
    // returning pointer to stack, rly?
6990
40e5af28d026 change every return value into a more pascal-ish form, using the name of the fucntion (helps the parser and macpas compaitilibity)
koda
parents: 6982
diff changeset
    64
    ShortStringAsPChar:= @s[1];
6027
302408e45052 code working on ios now
koda
parents: 5661
diff changeset
    65
end;
10490
b30b8d39d662 Fix some stuff from coverity
unc0rr
parents: 10108
diff changeset
    66
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    67
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    68
end.