📄 oxnewtonimport.pas
字号:
{*******************************************************************************}
{ }
{ Newton Game Dynamics Delphi-Headertranslation }
{ Current SDK version 1.55 }
{ }
{ Copyright (c) 2004,05,06 Sascha Willems }
{ Jon Walton }
{ Dominique Louis }
{ }
{ Initial Author : S.Spasov (Sury) }
{ }
{*******************************************************************************}
{ }
{ License : }
{ }
{ The contents of this file are used with permission, subject to }
{ the Mozilla Public License Version 1.1 (the "License"); you may }
{ not use this file except in compliance with the License. You may }
{ obtain a copy of the License at }
{ http://www.mozilla.org/MPL/MPL-1.1.html }
{ }
{ Software distributed under the License is distributed on an }
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or }
{ implied. See the License for the specific language governing }
{ rights and limitations under the License. }
{ }
{*******************************************************************************}
{ }
{ See "Readme_NewtonImport.txt" for more information and detailed history }
{ }
{*******************************************************************************}
// This unit is renamed to remove conflic on futur version
// Because on futur version API's is changed..
// It is only to make sure that stay compatible with oxNewton
unit oxNewtonImport;
{$I oxNewton2.inc}
interface
uses
{$IFDEF __GPC__}
system,
gpc,
{$ENDIF}
{$IFDEF UNIX}
{$IFDEF FPC}
{$IFDEF Ver1_0}
linux,
{$ELSE}
pthreads,
baseunix,
unix,
{$ENDIF}
x,
xlib,
{$ELSE}
Types,
Libc,
Xlib,
{$ENDIF}
{$ENDIF}
{$IFDEF __MACH__}
GPCMacOSAll,
{$ENDIF}
Classes;
const
{$IFDEF WIN32}
NewtonDLL = 'Newton.dll';
{$ENDIF}
{$IFDEF UNIX}
{$IFDEF DARWIN} // MacOS X
NewtonDLL = 'libnewton.dylib';
{$ELSE}
NewtonDLL = 'libnewton.so';
{$ENDIF}
{$ENDIF}
{$IFDEF MACOS}
NewtonDLL = 'libnewton';
{$ENDIF}
(*Comment this line if you get weird errors*)
{$DEFINE NICE_CODE_PARAMS}
type
{I did this to speed up the translation process and avoid bugs}
{if you don't like me screw up the Delphi syntax with those
(C++ types just do a simple find and replace =)
{Pascal to C++}
{simple types}
Bool = Boolean;
{$IFDEF NEWTON_DOUBLE_PRECISION}
Float = Double;
{$ELSE}
Float = Single;
{$ENDIF}
Long_double = Extended;
Int = Integer;
__int8 = ShortInt;
__int16 = SmallInt;
__int32 = LongInt;
__int64 = Int64;
NChar = ShortInt;
Unsigned_char = Byte;
Short = SmallInt;
Unsigned_short = Word;
Long = LongInt;
Unsigned_long = LongWord;
Unsigned_int = Cardinal;
size_t = Cardinal;
{Pointer types}
Pvoid = Pointer; //void pointer
PBool = ^Bool;
PFloat = ^Float;
PLong_double = ^Long_double;
PInt = ^Int;
P__int8 = ^__int8;
P__int16 = ^__int16;
P__int32 = ^__int32;
P__int64 = ^__int64;
P2Char = ^NChar;
PUnsigned_char = ^Unsigned_char;
PShort = ^Short;
PUnsigned_short = ^Unsigned_short;
PLong = ^Long;
PUnsigned_long = ^Unsigned_long;
PUnsigned_int = ^Unsigned_int;
Psize_t = ^size_t;
{end Pascal to C++}
{well this might look stupid
but i did it in order to make
code complete and code parameters hint window
to show the actual type for ex. PNewtonWorld
instead of just "Pointer" , thus making programming a lot easier}
{$IFDEF NICE_CODE_PARAMS}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -