hedgewars/uConsole.pas
author unc0rr
Tue, 07 Jan 2014 22:08:02 +0400
branchwebgl
changeset 9966 01e198990211
parent 9958 5a222923c8f8
child 10015 4feced261c68
permissions -rw-r--r--
pas2c engine now writes debug log
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
9080
9b42757d7e71 bump copyright year for Andrey entries
unc0rr
parents: 8437
diff changeset
     3
 * Copyright (c) 2004-2013 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
57c2ef19f719 Relicense to GPL
unc0rr
parents: 176
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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
function  ShortStringAsPChar(s: shortstring): PChar;
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    28
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    29
var lastConsoleline : shortstring;
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    30
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    31
implementation
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    32
uses Types, uUtils {$IFDEF ANDROID}, log in 'log.pas'{$ENDIF};
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    33
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    34
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    35
procedure WriteToConsole(s: shortstring);
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    36
begin
3818
e668970413e6 add a noconsole symbol, update the project file for appstore distribution
koda
parents: 3777
diff changeset
    37
{$IFNDEF NOCONSOLE}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    38
    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
    39
{$IFDEF ANDROID}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    40
    //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
    41
    Log.__android_log_write(Log.Android_LOG_DEBUG, 'HW_Engine', ShortStringAsPChar('[Con]' + s));
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    42
{$ELSE}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    43
    Write(stderr, s);
3818
e668970413e6 add a noconsole symbol, update the project file for appstore distribution
koda
parents: 3777
diff changeset
    44
{$ENDIF}
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    45
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    46
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    47
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    48
procedure WriteLnToConsole(s: shortstring);
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    49
begin
3825
fd6c20cd90e3 typos, reduced sound size and last minute fixes
koda
parents: 3818
diff changeset
    50
{$IFNDEF NOCONSOLE}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    51
    WriteToConsole(s);
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    52
{$IFNDEF ANDROID}
8437
93b647d6a00f uConsole on a diet
koda
parents: 7151
diff changeset
    53
    WriteLn(stderr, '');
3818
e668970413e6 add a noconsole symbol, update the project file for appstore distribution
koda
parents: 3777
diff changeset
    54
{$ENDIF}
5286
22c1f4833a86 First commit..
Xeli
parents: 5132
diff changeset
    55
{$ENDIF}
9958
5a222923c8f8 - Don't define NOCONSOLE
unc0rr
parents: 9080
diff changeset
    56
    lastConsoleline:= s;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    57
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    58
6444
eddc1e9bcd81 - Help parser more
unc0rr
parents: 6033
diff changeset
    59
function ShortStringAsPChar(s: shortstring) : PChar;
6027
302408e45052 code working on ios now
koda
parents: 5661
diff changeset
    60
begin
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6528
diff changeset
    61
    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
    62
        Dec(s[0]);
6027
302408e45052 code working on ios now
koda
parents: 5661
diff changeset
    63
    s[Ord(Length(s))+1] := #0;
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;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 2
diff changeset
    66
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.