Commit Graph

11124 Commits

Author SHA1 Message Date
Mattias Gaertner
8ef68dbf8b pastojs: fixed -vm
git-svn-id: trunk@41611 -
2019-03-05 23:54:22 +00:00
Mattias Gaertner
be7e2bb997 fcl-passrc: resolver: no hint when hiding private method
git-svn-id: trunk@41600 -
2019-03-05 15:49:01 +00:00
Mattias Gaertner
f88641b3b4 fcl-passrc: resolver: no hint when hiding private method
git-svn-id: trunk@41598 -
2019-03-05 14:38:26 +00:00
Mattias Gaertner
1ab29b43b7 pastojs: bigint shl/shr int
git-svn-id: trunk@41594 -
2019-03-05 13:15:07 +00:00
Mattias Gaertner
6377c64d7c pastojs: bigint shl const
git-svn-id: trunk@41593 -
2019-03-05 12:12:26 +00:00
michael
5fd42f50f8 * Fixed typo
git-svn-id: trunk@41592 -
2019-03-05 11:24:23 +00:00
michael
ae5e97962f * Fix AV
git-svn-id: trunk@41591 -
2019-03-05 11:23:56 +00:00
Mattias Gaertner
9ff072e9aa fcl-passrc: fixed overload var arg and type alias
git-svn-id: trunk@41590 -
2019-03-05 10:55:43 +00:00
Mattias Gaertner
bfaa7ac13f fcl-passrc: when using members, use parent type
git-svn-id: trunk@41587 -
2019-03-04 13:21:11 +00:00
Mattias Gaertner
91c6b86a82 fcl-passrc: analyzer: use methods with message modifier
git-svn-id: trunk@41586 -
2019-03-04 11:44:00 +00:00
michael
45b0446f8c * Configurable HTTP Status codes
git-svn-id: trunk@41585 -
2019-03-04 09:43:32 +00:00
Mattias Gaertner
e3cd320580 pastojs: method modifier message integer/string
git-svn-id: trunk@41583 -
2019-03-03 23:30:13 +00:00
Mattias Gaertner
cbdd7e892f fcl-passrc: parse and resolve method modifier message
git-svn-id: trunk@41582 -
2019-03-03 21:44:42 +00:00
michael
72196141b0 * Fix syntax error
git-svn-id: trunk@41581 -
2019-03-03 18:22:01 +00:00
michael
604e8f03f8 * Added business processor component
git-svn-id: trunk@41573 -
2019-03-03 16:01:46 +00:00
michael
92429997b5 * Keep connection type when reading
git-svn-id: trunk@41572 -
2019-03-03 16:00:53 +00:00
svenbarth
9a9c6a3ff4 * fix for Mantis #35150: correctly convert Int64/QWord values to OleVariant (Delphi compatible)
+ added test

git-svn-id: trunk@41571 -
2019-03-03 14:50:09 +00:00
svenbarth
07b1a3d211 * adjust signature of variant managers olevarfromint so that 64-bit values can be passed as well (as was probably intended originally)
git-svn-id: trunk@41570 -
2019-03-03 14:50:05 +00:00
michael
2430174213 * Clear needs an argument to clear data or not
git-svn-id: trunk@41569 -
2019-03-03 09:20:03 +00:00
michael
9d20e859b5 * Correct Correct Standard elements registration
git-svn-id: trunk@41568 -
2019-03-03 08:40:02 +00:00
michael
629f73c918 * Do not open dataset twice. Correct Standard elements registration
git-svn-id: trunk@41567 -
2019-03-03 08:38:41 +00:00
Mattias Gaertner
f7fcef0064 pastojs: clean up
git-svn-id: trunk@41561 -
2019-03-02 18:54:30 +00:00
Mattias Gaertner
1257996424 pastojs: type helper for class/interface
git-svn-id: trunk@41558 -
2019-03-02 15:09:10 +00:00
Mattias Gaertner
624549ae34 fcl-passrc: type helper for class/interface
git-svn-id: trunk@41557 -
2019-03-02 15:08:57 +00:00
michael
7967002ac5 * Use FindPostScriptFontName to change font to bold/italic (bug ID 35049)
git-svn-id: trunk@41554 -
2019-03-02 14:06:12 +00:00
michael
d8773e156a * Add (Get|Find)PostScriptFontName
git-svn-id: trunk@41553 -
2019-03-02 14:05:23 +00:00
michael
d1dae0423c * Small change in API, use set instead of 2 booleans
git-svn-id: trunk@41552 -
2019-03-02 12:31:18 +00:00
michael
805e2bb28d * Patch from Ondrej Pokorny to add transparency
git-svn-id: trunk@41551 -
2019-03-02 12:21:28 +00:00
michael
5ce75e42df * optimization by Ondrej Pokorny, add const in front of TFPColor arguments where possible (bug ID 35131)
git-svn-id: trunk@41550 -
2019-03-02 12:13:31 +00:00
svenbarth
158224a808 * reorder methods to get rid of some inlining notes (no functional changes)
git-svn-id: trunk@41549 -
2019-03-02 12:08:45 +00:00
svenbarth
033561d039 * fix passing structured result values on non-Win32
git-svn-id: trunk@41548 -
2019-03-02 11:19:23 +00:00
michael
b7ce4406d8 * Fix bug #35127 in CheckRectClipping, patch from Ondrej Pokorny
git-svn-id: trunk@41546 -
2019-03-02 10:29:44 +00:00
michael
1c9bca29e3 * Fix for bug #35161, by Doyenne
git-svn-id: trunk@41545 -
2019-03-02 10:20:43 +00:00
Mattias Gaertner
1842933e40 fcl-passrc: scanner info macro set to
git-svn-id: trunk@41542 -
2019-03-01 17:56:49 +00:00
svenbarth
42d126e713 * enable Invoke() tests for i386
git-svn-id: trunk@41537 -
2019-03-01 15:21:01 +00:00
svenbarth
d7bb4bd411 + add function call manager which implements Invoke() for the i386 register calling convention
git-svn-id: trunk@41536 -
2019-03-01 15:20:59 +00:00
svenbarth
c2da9abd17 * correctly compare floating point values in TValue
git-svn-id: trunk@41535 -
2019-03-01 15:20:56 +00:00
Mattias Gaertner
2b9c7c7c78 pastojs: (f*f).helpercall
git-svn-id: trunk@41530 -
2019-02-28 23:20:00 +00:00
Mattias Gaertner
f71fac34fd pastojs: fixed type helper call as arg
git-svn-id: trunk@41529 -
2019-02-28 22:48:01 +00:00
Mattias Gaertner
f6cbe79a0a pastojs: and/or/xor with nativeint, warn nativeint shl/shr
git-svn-id: trunk@41528 -
2019-02-28 21:57:28 +00:00
Mattias Gaertner
119aab42db fcl-passrc: fixed $warn identifier error
git-svn-id: trunk@41527 -
2019-02-28 21:13:29 +00:00
Mattias Gaertner
e41d075fda pastojs: fixed compile under nodejs
git-svn-id: trunk@41505 -
2019-02-27 08:41:14 +00:00
Mattias Gaertner
a626ba845e pastojs: updated comment
git-svn-id: trunk@41504 -
2019-02-27 08:40:35 +00:00
Mattias Gaertner
20c854ad90 fcl-passrc: fixed WPO for attributes with parameters
git-svn-id: trunk@41503 -
2019-02-27 08:40:14 +00:00
michael
06074197ab * Remove debug statement
git-svn-id: trunk@41502 -
2019-02-27 08:04:05 +00:00
michael
e66e68158a * Remove debug statement
git-svn-id: trunk@41501 -
2019-02-27 08:00:21 +00:00
Mattias Gaertner
f63295ce4f pastojs: fixed class constructor without initialization and precompile
git-svn-id: trunk@41500 -
2019-02-26 22:34:01 +00:00
Mattias Gaertner
463e98ccef fcl-passrc: fixed parent of const external modifier
git-svn-id: trunk@41496 -
2019-02-26 19:05:35 +00:00
Mattias Gaertner
4f9ce09c1c fcl-passrc: fixed parsing variable list with modifiers
git-svn-id: trunk@41495 -
2019-02-26 18:58:59 +00:00
Mattias Gaertner
af1878c7c1 pastojs: register pcu format only if needed
git-svn-id: trunk@41494 -
2019-02-26 18:44:26 +00:00
Mattias Gaertner
846ab7e2e4 pastojs: emit hints even for modules not used
git-svn-id: trunk@41483 -
2019-02-26 17:40:05 +00:00
Mattias Gaertner
cd247236ba fcl-passrc: useanalyzer: clean up
git-svn-id: trunk@41482 -
2019-02-26 17:39:42 +00:00
Mattias Gaertner
7354b2c2e5 fcl-json: less hints
git-svn-id: trunk@41480 -
2019-02-26 12:42:27 +00:00
Mattias Gaertner
45a5a1d9bf fcl-passrc: fixed TAliasEnumType.Value
git-svn-id: trunk@41479 -
2019-02-26 11:35:22 +00:00
Mattias Gaertner
edd9b17b96 fcl-js: clean up
git-svn-id: trunk@41478 -
2019-02-26 11:32:29 +00:00
michael
970188907e * Fix bug ID #35113
git-svn-id: trunk@41473 -
2019-02-25 21:04:39 +00:00
michael
3857f343d8 * Add stored modifier for config strings
git-svn-id: trunk@41468 -
2019-02-25 20:28:47 +00:00
michael
98a30de010 * Rest module for in IDE
git-svn-id: trunk@41467 -
2019-02-25 19:39:15 +00:00
Mattias Gaertner
5ed190061b pastojs: resolver: fixed class abstract
git-svn-id: trunk@41466 -
2019-02-25 17:58:39 +00:00
Mattias Gaertner
16ba0b4a05 fcl-passrc, pastojs: renamed modeswitch multiplescopehelpers to multihelpers
git-svn-id: trunk@41465 -
2019-02-25 17:50:32 +00:00
Mattias Gaertner
0fb27844d6 fcl-passrc: useanalyzer: fixed system.typeinfo
git-svn-id: trunk@41461 -
2019-02-25 14:03:16 +00:00
Mattias Gaertner
c987aa77f9 fcl-passrc: fixed inherited create on abstract class
git-svn-id: trunk@41456 -
2019-02-25 11:16:49 +00:00
Jonas Maebe
a51c06f907 * place the "external" directives in the interface instead of in the
implementation, because we don't support "external" in the implementation
    for C varargs functions for LLVM (can't generate a stub for them)
   o having "external" in the implementation also causes useless overhead
     with code generators that do support this

git-svn-id: trunk@41442 -
2019-02-24 19:58:40 +00:00
michael
1d5877ecf0 * Save config strings to/from ini file
git-svn-id: trunk@41440 -
2019-02-24 18:59:19 +00:00
michael
f097158802 * Add database creation and README, and copyright header
git-svn-id: trunk@41439 -
2019-02-24 17:20:33 +00:00
michael
5f2cef71ea * Copyright statement
git-svn-id: trunk@41438 -
2019-02-24 17:09:58 +00:00
michael
e726faca7c * Delphi rest client for REST bridge
git-svn-id: trunk@41437 -
2019-02-24 16:01:26 +00:00
Mattias Gaertner
333e100b5b pastojs: clean up
git-svn-id: trunk@41435 -
2019-02-24 15:42:34 +00:00
Mattias Gaertner
90626406a1 fcl-passrc: class abstract
git-svn-id: trunk@41434 -
2019-02-24 15:42:11 +00:00
Mattias Gaertner
45eafbabca fcl-passrc: useanalyzer: no hint for attributes
git-svn-id: trunk@41433 -
2019-02-24 15:42:01 +00:00
michael
02b5a755f7 * Add SQLDBIni helper
git-svn-id: trunk@41432 -
2019-02-24 15:02:20 +00:00
michael
2845fabd02 * Add SQLDB Rest Bridge
git-svn-id: trunk@41431 -
2019-02-24 15:00:56 +00:00
michael
938d59434f * Fix missing inherited in destroy
git-svn-id: trunk@41430 -
2019-02-24 14:59:13 +00:00
Mattias Gaertner
a532d1d8fb pastojs: attributes
git-svn-id: trunk@41427 -
2019-02-24 08:22:32 +00:00
Mattias Gaertner
cc22c70fa5 fcl-passrc: attributes, removed modeswitch msIgnoreInterfaces
git-svn-id: trunk@41426 -
2019-02-24 08:22:02 +00:00
Jonas Maebe
1a559f5c60 * move the homogenous float aggregate determination function to a common
unit for ARM and AArch64

git-svn-id: trunk@41419 -
2019-02-23 15:42:39 +00:00
pierre
54ae0f7d64 * Use DupIgnore for TBuildEngine.Clean list of files to delete
+ Generate list of remaining files and call CmdDeleteFiles

git-svn-id: trunk@41418 -
2019-02-23 15:41:44 +00:00
joost
42204977f8 * Patch from Bart Broersma to fix writing unicode strings in the Windows
registry + test (modified, bug #35060)

git-svn-id: trunk@41415 -
2019-02-22 22:26:21 +00:00
michael
e9c4042023 * Add gif to help message
git-svn-id: trunk@41411 -
2019-02-22 08:07:21 +00:00
michael
373e6a78d7 * Support reading gifs
git-svn-id: trunk@41410 -
2019-02-22 08:05:24 +00:00
michael
fe505c12a9 * Patch from Anton Kavalenka to fix gif reading (bug ID 35134)
git-svn-id: trunk@41409 -
2019-02-22 08:03:39 +00:00
Mattias Gaertner
25cb06f021 pastojs: overflow checking for integer operators +,-,* outside nativeint
git-svn-id: trunk@41392 -
2019-02-20 09:22:40 +00:00
Mattias Gaertner
de59341cb7 pastojs: fixed MinMaxSafeIntDouble for significand bits instead of explicit bits
git-svn-id: trunk@41390 -
2019-02-20 02:22:36 +00:00
Mattias Gaertner
5d62a1cfcd fcl-passrc: fixed MinMaxSafeIntDouble for significand bits instead of explicit bits
git-svn-id: trunk@41389 -
2019-02-20 02:22:27 +00:00
Mattias Gaertner
d6f5792f36 fcl-js: fixed MinMaxSafeIntDouble for significand bits instead of explicit bits
git-svn-id: trunk@41388 -
2019-02-20 02:22:12 +00:00
Mattias Gaertner
8569bd2bf6 fcl-js: write 1.20E1 as 1.2E1
git-svn-id: trunk@41387 -
2019-02-20 02:21:56 +00:00
Mattias Gaertner
8ee668ad05 pastojs: range checking for type helpers and var/out arguments
git-svn-id: trunk@41386 -
2019-02-20 00:55:53 +00:00
Mattias Gaertner
97bbae538b fcl-passrc: parser: mode objfpc: generic function name<>...
git-svn-id: trunk@41378 -
2019-02-18 23:08:46 +00:00
Mattias Gaertner
d0c9392d5e pastojs: clean up
git-svn-id: trunk@41365 -
2019-02-17 20:48:54 +00:00
Mattias Gaertner
4282b61e9f fcl-js: clean up
git-svn-id: trunk@41364 -
2019-02-17 20:48:43 +00:00
Mattias Gaertner
1a977e8efd pastojs: implemented class constructors
git-svn-id: trunk@41360 -
2019-02-17 20:43:58 +00:00
Mattias Gaertner
894aebf8dd fcl-passrc: usenanalyzer: class constructor/destructor
git-svn-id: trunk@41359 -
2019-02-17 20:43:15 +00:00
Mattias Gaertner
34515b09cf fcl-js: added TJSUnaryBracketsExpression, needed for (function(){})
git-svn-id: trunk@41358 -
2019-02-17 20:42:14 +00:00
nickysn
0a228b9115 + added missing dependencies on Unix-like platforms - unit 'keyboard' uses unit
'mouse' and unit 'mouse' uses unit 'video'.

git-svn-id: trunk@41353 -
2019-02-17 19:10:53 +00:00
joost
0814dad0ba * Fixed mistake in r41325, bug #35099
git-svn-id: trunk@41352 -
2019-02-17 18:39:09 +00:00
Mattias Gaertner
3ecfa10417 pastojs: fixed mark impl scope ref of VarRecs
git-svn-id: trunk@41350 -
2019-02-16 23:26:40 +00:00
Mattias Gaertner
73e1846222 resolver: treat array of const as open array
git-svn-id: trunk@41348 -
2019-02-16 20:00:11 +00:00
Mattias Gaertner
3cb31b75a7 pastojs: fixed typecast jsvalue(anobject/interface)
git-svn-id: trunk@41346 -
2019-02-16 19:48:10 +00:00
Mattias Gaertner
d2203e460c pastojs: fixed version check using current version
git-svn-id: trunk@41344 -
2019-02-16 19:46:11 +00:00
michael
fbba24d636 * Fix bug ID #35098 (count param)
git-svn-id: trunk@41343 -
2019-02-16 14:52:17 +00:00
michael
f737521590 * Patch from Ondrej Pokorny, to demonstrate alpha blending mode
git-svn-id: trunk@41341 -
2019-02-16 12:43:14 +00:00
Mattias Gaertner
3c9ccb177b pas2js: set trunk version 1.5.1
git-svn-id: trunk@41339 -
2019-02-16 11:01:28 +00:00
Mattias Gaertner
e0ada1ced9 pastojs: use VarRecs only if called
git-svn-id: trunk@41333 -
2019-02-16 09:46:38 +00:00
michael
3d2de82656 * Fix bug ID #34854
git-svn-id: trunk@41332 -
2019-02-16 08:50:13 +00:00
Mattias Gaertner
d4512cc714 pastojs: array of const
git-svn-id: trunk@41327 -
2019-02-15 22:38:44 +00:00
Mattias Gaertner
28e509f8f9 fcl-passrc: resolver: array of const
git-svn-id: trunk@41326 -
2019-02-15 22:37:36 +00:00
joost
cd03f5326d * Fixed bug #35060, proper unicode-handling of registry-keynames. With test
(modified) from Bart Broersma

git-svn-id: trunk@41325 -
2019-02-15 21:25:05 +00:00
michael
17b993636c - Refix changes overwritten by Mattias
git-svn-id: trunk@41319 -
2019-02-15 11:16:34 +00:00
Mattias Gaertner
818354b58f pastojs: clean up
git-svn-id: trunk@41313 -
2019-02-13 15:18:53 +00:00
Mattias Gaertner
5b37a8fe6a fcl-passrc: clean up
git-svn-id: trunk@41312 -
2019-02-13 15:18:43 +00:00
Mattias Gaertner
6bbc1db8bb pastojs: fixed helper constructor
git-svn-id: trunk@41300 -
2019-02-11 15:26:27 +00:00
Mattias Gaertner
ddaac687d4 pastojs: fixed helpers pass args
git-svn-id: trunk@41298 -
2019-02-11 12:15:55 +00:00
Mattias Gaertner
739723bc54 fcl-passrc: useanalyzer: mark parents of nested elements
git-svn-id: trunk@41297 -
2019-02-11 12:15:22 +00:00
Mattias Gaertner
a12ca1c1a0 pastojs: type helper set
git-svn-id: trunk@41295 -
2019-02-11 09:29:16 +00:00
Mattias Gaertner
1b6c69e079 fcl-passrc: resolver: type helper set
git-svn-id: trunk@41294 -
2019-02-11 09:29:02 +00:00
Mattias Gaertner
ff59f3b570 pastojs: type helper pass property
git-svn-id: trunk@41293 -
2019-02-10 22:59:33 +00:00
Mattias Gaertner
9f5bc872be fcl-passrc: parser: give error on class field without var
git-svn-id: trunk@41292 -
2019-02-10 22:59:15 +00:00
Mattias Gaertner
6108d38c23 pastojs: type helper array, constructor
git-svn-id: trunk@41279 -
2019-02-10 14:55:09 +00:00
Mattias Gaertner
60976ab94d fcl-passrc: resolver: totherarray(array):=
git-svn-id: trunk@41278 -
2019-02-10 14:54:42 +00:00
Mattias Gaertner
7bca7bb629 pastojs: type helper: literal
git-svn-id: trunk@41276 -
2019-02-10 09:59:17 +00:00
Mattias Gaertner
663ac37c1c fcl-passrc: parser: dot after true,false,char,string
git-svn-id: trunk@41275 -
2019-02-10 09:59:04 +00:00
Mattias Gaertner
e98d7f2a86 pastojs: type helper: arg/var/const/result
git-svn-id: trunk@41273 -
2019-02-10 00:24:23 +00:00
Mattias Gaertner
cb1a53c680 fcl-passrc: resolver: error on record helper for byte in mode objfpc
git-svn-id: trunk@41272 -
2019-02-10 00:22:18 +00:00
michael
3779d69075 * libmagic headers by Silvio Clecio
git-svn-id: trunk@41271 -
2019-02-09 19:57:11 +00:00
marco
8b956a580e * commit 64-bit type support to fcl-register, patch by CCRDude, mantis #34875
git-svn-id: trunk@41267 -
2019-02-09 13:57:19 +00:00
marco
be62b0ced0 * regcls constants from MSDN
git-svn-id: trunk@41264 -
2019-02-09 13:29:14 +00:00
marco
86168dfdd1 * Patch from Serge Anvarov with missing strutils aliases. Mantis #35047
git-svn-id: trunk@41263 -
2019-02-09 12:31:15 +00:00
Mattias Gaertner
c617546fcd pastojs: record helper constructor
git-svn-id: trunk@41259 -
2019-02-08 17:52:42 +00:00
nickysn
b0ca862f32 + implemented IntroSort (hybrid between QuickSort and HeapSort) in unit SortAlgs
git-svn-id: trunk@41258 -
2019-02-08 15:34:29 +00:00
Mattias Gaertner
e290e24c06 pastojs: helper: for in class helper
git-svn-id: trunk@41257 -
2019-02-08 14:52:16 +00:00
Mattias Gaertner
fcc78d311b pastojs: helper: class property with static class method
git-svn-id: trunk@41256 -
2019-02-08 13:07:16 +00:00
Mattias Gaertner
67dd6b5bf3 fcl-passrc: resolver: option to allow class property with non static getter/setter
git-svn-id: trunk@41255 -
2019-02-08 13:07:02 +00:00
Mattias Gaertner
15ec036a69 pastojs: helper: default array property
git-svn-id: trunk@41252 -
2019-02-08 10:10:30 +00:00
Mattias Gaertner
9a06e90b47 pastojs: helper: array property
git-svn-id: trunk@41251 -
2019-02-08 09:15:28 +00:00
Mattias Gaertner
46462a01ed pastojs: property getter/setter in helper
git-svn-id: trunk@41246 -
2019-02-07 12:29:28 +00:00
pierre
4d8dcfc42e Fix compilation on targets without Random: add $ifdef FPC_HAS_FEATURE_RANDOM
git-svn-id: trunk@41245 -
2019-02-07 10:46:41 +00:00
Mattias Gaertner
fce57c5528 pastojs: helper inherited
git-svn-id: trunk@41244 -
2019-02-06 22:10:33 +00:00
nickysn
1c64f4c751 * some formatting changes to avoid very large lines in the source code
git-svn-id: trunk@41242 -
2019-02-06 18:26:05 +00:00
Mattias Gaertner
3e7c53a3bb pastojs: class helper: constructor
git-svn-id: trunk@41239 -
2019-02-06 15:20:59 +00:00
Mattias Gaertner
c657042f0f fcl-passrc: adv record: allow static only for class procedure/function
git-svn-id: trunk@41238 -
2019-02-06 15:20:35 +00:00
nickysn
52b4fc039c + added randomized quicksort to unit sortalgs
git-svn-id: trunk@41237 -
2019-02-06 14:20:40 +00:00
Mattias Gaertner
4d8ae767f7 pastojs: proc ref of helper method
git-svn-id: trunk@41235 -
2019-02-06 10:16:03 +00:00
Mattias Gaertner
75bf1e4291 fcl-passrc: resolver: added GetSelfScope
git-svn-id: trunk@41234 -
2019-02-06 10:15:31 +00:00
nickysn
c728a1204a + added additional notes in the comments for HeapSort
git-svn-id: trunk@41233 -
2019-02-05 18:25:27 +00:00
Mattias Gaertner
9a878f99db fcl-passrc: fixed parsing (expr).name()
git-svn-id: trunk@41225 -
2019-02-04 16:49:07 +00:00
Mattias Gaertner
bf1af93938 pastojs: typecast string(unicodestring), unicodestring(string)
git-svn-id: trunk@41224 -
2019-02-04 16:02:42 +00:00
Mattias Gaertner
cfe65c8cd8 fcl-passrc: resolver: typecast string(unicodestring), unicodestring(string)
git-svn-id: trunk@41223 -
2019-02-04 16:02:28 +00:00
Mattias Gaertner
b47c58dddc fcl-passrc: fixed case of widechar
git-svn-id: trunk@41221 -
2019-02-04 15:08:50 +00:00
pierre
15fc7b3510 Programs can also have import libraries
git-svn-id: trunk@41220 -
2019-02-04 15:02:42 +00:00
nickysn
ec45f0069a + added unit SortAlgs to rtl-extra. It implements extra sorting algorithms
that can be used in place of the default QuickSort implementation from unit
  SortBase. Currently, only HeapSort is implemented, but others will be added
  in the future.

git-svn-id: trunk@41219 -
2019-02-04 14:34:13 +00:00
Mattias Gaertner
57ece7b0f5 fcl-passrc: fixed set literal of widechar, issue #35001
git-svn-id: trunk@41218 -
2019-02-04 12:34:25 +00:00
Mattias Gaertner
d9954e410e pastojs: fixed case char of widechar_literal, issue #34993
git-svn-id: trunk@41192 -
2019-02-03 16:49:00 +00:00
Mattias Gaertner
c2671bdbb6 pastojs: helpers: access helper fields from method
git-svn-id: trunk@41189 -
2019-02-03 16:29:24 +00:00
Mattias Gaertner
07d6c5b688 fcl-passrc: resolver: check record/type helper static
git-svn-id: trunk@41188 -
2019-02-03 16:28:25 +00:00
michael
85f1b78162 * Fix wrong typecast, fix warning when compiling
git-svn-id: trunk@41162 -
2019-02-02 09:02:57 +00:00
Mattias Gaertner
e9c8d9b1b7 fcl-passrc: resolver: nicer error message on invalid set element type
git-svn-id: trunk@41157 -
2019-01-31 22:36:47 +00:00
Mattias Gaertner
8d368b0c21 pastojs fixed treating big ints as double
git-svn-id: trunk@41156 -
2019-01-31 19:50:23 +00:00
Mattias Gaertner
dd49ad6183 fcl-passrc: fixed treating big ints as extended
git-svn-id: trunk@41155 -
2019-01-31 19:50:06 +00:00
Mattias Gaertner
9aec974448 fcl-js: small optimization
git-svn-id: trunk@41154 -
2019-01-31 19:48:29 +00:00
nickysn
c5331d425a * split the routines with asm versions into strict pascal and strict asm versions
git-svn-id: trunk@41153 -
2019-01-31 15:19:45 +00:00
Mattias Gaertner
74b897b875 pastojs: not using TSelfExpr
git-svn-id: trunk@41152 -
2019-01-31 14:48:44 +00:00
Mattias Gaertner
28b945242e fcl-passrc: resolver: not using TSelfExpr
git-svn-id: trunk@41151 -
2019-01-31 14:48:25 +00:00
Mattias Gaertner
d4c96dcf22 pastojs: searching units in current module directory, Delphi compatibility
git-svn-id: trunk@41149 -
2019-01-31 09:23:48 +00:00
Mattias Gaertner
6160a2ad51 pastojs: intrinsics lo/hi, issue #34964, patch from Kryvichh
git-svn-id: trunk@41148 -
2019-01-30 16:44:48 +00:00
nickysn
e348fada6c * optimizations in SetVisualX and SetActiveX by using a table, instead of a case statement
git-svn-id: trunk@41146 -
2019-01-30 15:49:00 +00:00
Mattias Gaertner
dd2fc17d51 pastojs: nicer -Jm error message, check for (a,b)[]
git-svn-id: trunk@41145 -
2019-01-30 14:10:31 +00:00
Mattias Gaertner
569bd80cec fcl-passrc: parser: fixed self.a[], self.a()
git-svn-id: trunk@41144 -
2019-01-30 14:09:32 +00:00
nickysn
7a15e4b0a2 * optimizations in SetActive200 and SetActive350
git-svn-id: trunk@41143 -
2019-01-30 12:56:17 +00:00
Mattias Gaertner
ff67b59388 pastojs: fixed compile
git-svn-id: trunk@41132 -
2019-01-29 20:52:37 +00:00
Mattias Gaertner
007f266ccf fcl-passrc: scanner: bool switch $goto
git-svn-id: trunk@41125 -
2019-01-29 19:08:16 +00:00
Mattias Gaertner
86d3728ea9 pastojs: fixed write class var
git-svn-id: trunk@41124 -
2019-01-29 18:14:24 +00:00
Mattias Gaertner
d5632392d0 fcl-passrc: resolver: fixed name[][] for default property and adv record class var
git-svn-id: trunk@41123 -
2019-01-29 18:13:43 +00:00
nickysn
4d00ac486a * use eax instead of edi in GetPixel320, to avoid saving/restoring edi
git-svn-id: trunk@41118 -
2019-01-29 13:39:40 +00:00
nickysn
915bc126a5 - ignore VideoOfs completely in the mode 13h routines (this mode has no video page support)
git-svn-id: trunk@41117 -
2019-01-29 13:19:31 +00:00
nickysn
6a1adc31fc * moved the assembler declaration in PutPixel320 and GetPixel320 to be on the same line as the procedure/function declaration
git-svn-id: trunk@41116 -
2019-01-29 13:17:22 +00:00
nickysn
45ea95b72e - don't preserve edx and ecx in GetPixel320, because they don't need to be preserved in GetPixel320
git-svn-id: trunk@41115 -
2019-01-29 13:16:14 +00:00
nickysn
0c01add0ae - removed commented out video page code from GetPixel320
git-svn-id: trunk@41114 -
2019-01-29 13:15:14 +00:00
nickysn
22d599e70d - removed the REGCALL ifdefs from GetPixel320
git-svn-id: trunk@41113 -
2019-01-29 13:14:33 +00:00
nickysn
00d4bdbc7d + comment in GetPixel320 with the parameter locations
git-svn-id: trunk@41112 -
2019-01-29 13:13:56 +00:00
nickysn
e26a7f7753 * use different registers to avoid a mov instruction in PutPixel320
git-svn-id: trunk@41111 -
2019-01-29 13:09:00 +00:00
nickysn
23aec76ae1 - don't save/restore eax and ecx in PutPixel320, because they don't need to be preserved by the register calling convention
git-svn-id: trunk@41110 -
2019-01-29 13:05:12 +00:00
nickysn
1371a5a8ed - removed the commented out video page code from PutPixel320
git-svn-id: trunk@41109 -
2019-01-29 13:01:32 +00:00
nickysn
5a8d57d8f4 - removed the REGCALL ifdefs from PutPixel320
git-svn-id: trunk@41108 -
2019-01-29 13:00:24 +00:00
nickysn
f8817b128a + added comment to PutPixel320 with the parameter locations
git-svn-id: trunk@41107 -
2019-01-29 12:58:52 +00:00
nickysn
8a96bb656f * declare all registers as clobbered by int 10h in the asm block in SetVisual200_350 and leave it to fpc to preserve what is necessary
git-svn-id: trunk@41103 -
2019-01-28 17:32:14 +00:00
nickysn
c3bdb2c2ee * SetVisual200 and SetVisual350 combined into one routine SetVisual200_350, because they share the same code
git-svn-id: trunk@41102 -
2019-01-28 17:28:10 +00:00
nickysn
1cd93cf9a7 - removed the unnecessary code from SetVisual200 (the start address that is being read isn't written anywhere and is not used)
git-svn-id: trunk@41101 -
2019-01-28 17:25:24 +00:00
nickysn
b70aeac0d4 + added comments with the parameter locations in SetCGAPalette and SetCGABorder
- removed 'ifndef REGCALL'

git-svn-id: trunk@41100 -
2019-01-28 17:22:25 +00:00
nickysn
ca6fdb8c74 + added comment to CallInt10 with the parameter location
- removed the 'ifndef REGCALL' section from CallInt10

git-svn-id: trunk@41099 -
2019-01-28 17:18:37 +00:00
nickysn
c6a6cd522f + added comment in the beginning of seg_bytemove, containing the parameter locations
git-svn-id: trunk@41098 -
2019-01-28 17:15:27 +00:00
nickysn
8ae6b58c05 * converted seg_xorword, seg_orword and seg_andword to pure asm routines
git-svn-id: trunk@41097 -
2019-01-28 17:11:34 +00:00
Mattias Gaertner
70fa288fc4 fcl-passrc: resolver: fixed find ancestor property
git-svn-id: trunk@41087 -
2019-01-27 22:34:05 +00:00
Mattias Gaertner
26833bffce resolver: test record helper constructor
git-svn-id: trunk@41086 -
2019-01-27 22:05:38 +00:00
Mattias Gaertner
fcb2145255 fcl-passrc: removed okgeneric, it bites generic interface
git-svn-id: trunk@41083 -
2019-01-27 10:33:53 +00:00
Mattias Gaertner
fb78404e1c fcl-passrc: resolver: fixed error during parsing with-do
git-svn-id: trunk@41082 -
2019-01-27 10:03:09 +00:00
michael
212c48e3fc * Fix bug ID #32923 using patch from Margers
git-svn-id: trunk@41080 -
2019-01-27 08:38:45 +00:00
michael
2927388c0a * Patch from Margers to fix bug ID #13757
git-svn-id: trunk@41079 -
2019-01-27 08:20:54 +00:00
Mattias Gaertner
78ea6166e5 pastojs: shorten 1.0E12 to 1E12, issue #34942
git-svn-id: trunk@41078 -
2019-01-26 21:18:50 +00:00
Mattias Gaertner
3eca2b9c5e fcl-passrc: resolver: type helper constructors
git-svn-id: trunk@41075 -
2019-01-26 08:28:52 +00:00
nickysn
c33b4e20b2 - removed 'ifndef tp' directives
git-svn-id: trunk@41073 -
2019-01-25 16:15:31 +00:00
nickysn
c0710df0f8 - removed destroyed register lists from pure asm routines
git-svn-id: trunk@41072 -
2019-01-25 16:14:07 +00:00
nickysn
38ddbc541b + introduce the InitInt10hMode helper routine in the go32v2 graph unit as well
git-svn-id: trunk@41071 -
2019-01-25 15:26:21 +00:00
pierre
eb4f3a29da Enable paszlib package and disable utils/fpcm and utils/fpcmkcfg for nativent OS
git-svn-id: trunk@41070 -
2019-01-25 14:39:12 +00:00
Mattias Gaertner
0603f1eca2 pas2js: fixed relative paths in srcmap in Windows
git-svn-id: trunk@41067 -
2019-01-25 10:14:41 +00:00
Mattias Gaertner
06e821b07b pas2js: added option -Jmabsolute
git-svn-id: trunk@41066 -
2019-01-25 08:31:36 +00:00
Mattias Gaertner
c7c8f8ed6a resolver: cleaned up
git-svn-id: trunk@41064 -
2019-01-25 07:59:34 +00:00
Mattias Gaertner
4ab30223d3 pastojs: warn for bitwise and,or,xor with native(u)int
git-svn-id: trunk@41063 -
2019-01-24 22:38:43 +00:00
Mattias Gaertner
1a59a4a4a3 pastojs: typecast char to word
git-svn-id: trunk@41062 -
2019-01-24 22:03:43 +00:00
Mattias Gaertner
c67c51fdb5 pastojs: char range literals with non ascii, bug #34925
git-svn-id: trunk@41058 -
2019-01-24 17:12:51 +00:00
nickysn
b71f815a9a + enabled the asm version of DirectPutPixelX
git-svn-id: trunk@41057 -
2019-01-24 16:27:59 +00:00
nickysn
4a93ae0023 + implemented all the write modes in the asm version of DirectPutPixelX
git-svn-id: trunk@41056 -
2019-01-24 16:27:20 +00:00
nickysn
3e22a0625f * load only the low byte of CurrentColor in DirectPutPixelX
git-svn-id: trunk@41055 -
2019-01-24 16:18:07 +00:00
nickysn
aca3933f6d * fixed register in comment
git-svn-id: trunk@41054 -
2019-01-24 16:14:01 +00:00
nickysn
46ab1ac384 * fixed register in comment
git-svn-id: trunk@41053 -
2019-01-24 16:13:40 +00:00
nickysn
32f85b6bd8 * huge model safe initialization of ES in DirectPutPixelX
git-svn-id: trunk@41052 -
2019-01-24 16:12:58 +00:00
nickysn
126bf988a4 * use only 8086/8088 compatible instructions in DirectPutPixelX
git-svn-id: trunk@41051 -
2019-01-24 16:11:33 +00:00
nickysn
f0a777f617 - removed the regcall ifdefs in DirectPutPixelX
git-svn-id: trunk@41050 -
2019-01-24 16:06:53 +00:00
nickysn
4dfee9efc9 - removed the unnecessary for the pascal calling convention register save/restores in DirectPutPixelX
git-svn-id: trunk@41049 -
2019-01-24 16:06:05 +00:00
nickysn
93fe4d789e * DirectPutPixelX split into pascal and asm version
git-svn-id: trunk@41048 -
2019-01-24 16:04:46 +00:00
Mattias Gaertner
792858eab8 pastojs: fixed reading #$00xx as widechar, bug #34923
git-svn-id: trunk@41046 -
2019-01-24 15:54:47 +00:00
nickysn
6ad69d0ab9 * use stosb instead of mov in PutPixelX
git-svn-id: trunk@41045 -
2019-01-24 15:45:52 +00:00
nickysn
5556757f95 * only load the low byte of the color in PutPixelX
git-svn-id: trunk@41044 -
2019-01-24 15:43:43 +00:00
nickysn
e80d1564ed - don't save/restore registers that don't need to be preserved by the pascal calling convention
git-svn-id: trunk@41043 -
2019-01-24 15:39:26 +00:00
nickysn
a22ac81677 * PutPixelX converted to a pure assembler routine
git-svn-id: trunk@41042 -
2019-01-24 15:37:37 +00:00
nickysn
a190d65f92 * huge model safe initialization of ES in PutPixelX
git-svn-id: trunk@41041 -
2019-01-24 15:33:54 +00:00
nickysn
6cc00c887f * moved the ES segment register initialization earlier in PutPixelX
git-svn-id: trunk@41040 -
2019-01-24 15:32:46 +00:00
nickysn
933dd5b0cc + enabled the asm version of PutPixelX
git-svn-id: trunk@41039 -
2019-01-24 15:31:54 +00:00
nickysn
abf98cf2cd * perform the clipping in asm in PutPixelX
git-svn-id: trunk@41038 -
2019-01-24 15:30:15 +00:00
nickysn
a55ee3b687 * moved the loading of X and Y coordinates to the beginning of the asm block in PutPixelX
git-svn-id: trunk@41037 -
2019-01-24 15:27:05 +00:00
nickysn
d04f801ee2 * swapped ax and cx in PutPixelX
git-svn-id: trunk@41036 -
2019-01-24 15:25:34 +00:00
nickysn
5ca7382516 - remove the XorPut support from PutPixelX, since it is not supposed to support different write modes
git-svn-id: trunk@41035 -
2019-01-24 15:23:13 +00:00
nickysn
a0924c9bbb * perform the viewport adjustment in asm instead of pascal in PutPixelX
git-svn-id: trunk@41034 -
2019-01-24 15:21:05 +00:00
nickysn
55f8c0f99a * use 8086/8088-compatible instructions in the asm version of PutPixelX
git-svn-id: trunk@41033 -
2019-01-24 15:18:30 +00:00
nickysn
bf711c4586 * PutPixelX split into pure pascal and asm version
git-svn-id: trunk@41032 -
2019-01-24 15:13:02 +00:00
nickysn
8e832f31dc * fix register in comment
git-svn-id: trunk@41031 -
2019-01-24 13:52:00 +00:00
nickysn
9c3d65b08f * use lodsb instead of mov in GetPixelX
git-svn-id: trunk@41030 -
2019-01-24 13:45:23 +00:00
nickysn
948328160b * use SI instead of DI in the asm GetPixelX
git-svn-id: trunk@41029 -
2019-01-24 13:43:34 +00:00
nickysn
8da6e23d0d * fixed and enabled the asm version of GetPixelX
git-svn-id: trunk@41028 -
2019-01-24 13:41:10 +00:00
Mattias Gaertner
f0a8b07e3e pastojs: fixed const eval float - currency, bug #34936
git-svn-id: trunk@41026 -
2019-01-24 13:33:35 +00:00
Mattias Gaertner
48537b4e7c pastojs: external fields in records, bug #34922
git-svn-id: trunk@41025 -
2019-01-24 12:20:40 +00:00
Mattias Gaertner
766f4cfcb0 fcl-js: quote quoted object literal names
git-svn-id: trunk@41024 -
2019-01-24 12:19:55 +00:00
Mattias Gaertner
92b3fc7c78 pastojs: fixed compile
git-svn-id: trunk@41023 -
2019-01-23 23:00:29 +00:00
Mattias Gaertner
18f670a822 fcl-passrc: parse and resolve helpers
git-svn-id: trunk@41022 -
2019-01-23 22:58:11 +00:00
nickysn
57ffb6fb07 * FPC_GRAPH_SUPPORTS_TRUECOLOR support in the asm GetPixelX
git-svn-id: trunk@41020 -
2019-01-23 15:24:32 +00:00
nickysn
c86da93af8 * asm version of GetPixelX converted to pure asm
git-svn-id: trunk@41019 -
2019-01-23 15:23:48 +00:00
nickysn
46f3c742f3 * viewport adjustment converted to asm in the asm version of GetPixelX
git-svn-id: trunk@41018 -
2019-01-23 15:22:20 +00:00
nickysn
d5b8e84352 * use only 8086/8088-compatible instructions in the asm GetPixelX
git-svn-id: trunk@41017 -
2019-01-23 15:02:38 +00:00
nickysn
f06cb31746 * huge model fixes in asm GetPixelX
git-svn-id: trunk@41016 -
2019-01-23 15:00:03 +00:00
nickysn
44a193a027 * split GetPixelX into strictly pascal and strictly asm version
git-svn-id: trunk@41015 -
2019-01-23 13:37:06 +00:00
nickysn
b48e901ed8 + also save/restore DS before/after the int 10h call inside SetCGAPalette and SetCGABorder
git-svn-id: trunk@41014 -
2019-01-23 13:31:43 +00:00
nickysn
9da40ee818 * use SegB000 instead of the $B000 constant in InitHGC720. This will make the
code compatible with 16-bit protected mode DOS targets, when they get
  implemented.

git-svn-id: trunk@41013 -
2019-01-23 13:23:29 +00:00
nickysn
ec580d81b7 * factored out the repeating code for setting a BIOS graphics mode into a common procedure InitInt10hMode
git-svn-id: trunk@41012 -
2019-01-23 12:20:54 +00:00
nickysn
39db7fd9d9 * only load the low byte from the page parameter in SetVisual200_350
git-svn-id: trunk@41011 -
2019-01-23 12:10:11 +00:00
nickysn
4569d47417 * SetVisual200 and SetVisual350 combined into one procedure, because they share the same code
git-svn-id: trunk@41010 -
2019-01-23 12:09:08 +00:00
nickysn
be29c1d39e * all procedures and functions that call NotInGraphicsMode marked 'noreturn' to
avoid warnings about function result not being set, etc.

git-svn-id: trunk@41009 -
2019-01-23 12:05:21 +00:00
nickysn
b9a0b03e4b * use stosb instead of mov in DirectPutPixel16
git-svn-id: trunk@41007 -
2019-01-22 17:22:06 +00:00
nickysn
4336c4d793 * optimizations in DirectPutPixel16 to avoid the mul instruction
git-svn-id: trunk@41006 -
2019-01-22 17:20:38 +00:00
nickysn
a854411e7c * perform the clipping before initializing ES in PutPixel320, so it runs faster
when the pixel happens to be outside the viewport

git-svn-id: trunk@41005 -
2019-01-22 16:56:16 +00:00
nickysn
7c4466025a * PutPixel16 converted to pure asm routine
git-svn-id: trunk@41004 -
2019-01-22 16:40:51 +00:00
nickysn
1533f1e218 * implement the clipping in assembly instead of pascal in PutPixel16
git-svn-id: trunk@41003 -
2019-01-22 16:23:47 +00:00
nickysn
0199177c21 * perform the viewport adjustment in asm instead of pascal in PutPixel16
git-svn-id: trunk@41002 -
2019-01-22 16:11:41 +00:00
nickysn
d299ed7756 * moved the loading of the X and Y coordinates to registers in the front of the asm block in PutPixel16
git-svn-id: trunk@41001 -
2019-01-22 16:10:37 +00:00
nickysn
16c6090f30 * yet another mov eliminated by using different registers in GetPixel16
git-svn-id: trunk@41000 -
2019-01-22 16:07:51 +00:00
nickysn
820ba7dfb5 * use stosb instead of mov for writing a byte (the value doesn't matter) into EGA/VGA memory in PutPixel16
git-svn-id: trunk@40999 -
2019-01-22 16:05:29 +00:00
nickysn
83766c7462 * optimizations in PutPixel16 that remove the slow 'mul' instruction
git-svn-id: trunk@40998 -
2019-01-22 16:04:08 +00:00
nickysn
36c349696e * some minor optimizations in PutPixel16 (more efficient register usage, resulting in less mov instructions)
git-svn-id: trunk@40997 -
2019-01-22 15:50:31 +00:00
nickysn
5ba5b871bf * GetScanLine16 changed so that it reads video memory in 16-bit words, instead
of 32-bit longints, because 16-bit generates more efficient code on the i8086

git-svn-id: trunk@40996 -
2019-01-22 15:32:44 +00:00
marco
6cc8ed3256 * don't hangt on corrupt gifs, exit loops at end of streams.
Fixes mantis #34919

git-svn-id: trunk@40995 -
2019-01-22 15:11:04 +00:00
nickysn
06dbc518e4 * swap AL and AH in the last 'or' instruction in GetPixel16, so the result is
combined directly into AL and a 'mov al, ah' instruction is removed

git-svn-id: trunk@40994 -
2019-01-22 14:49:18 +00:00
nickysn
8cf2792c89 * replaced 'mov al,es:[si]' with 'seges lodsb' in GetPixel16
git-svn-id: trunk@40993 -
2019-01-22 14:35:32 +00:00
nickysn
95f2fffaf8 * replaced bl with al in the final bit read in GetPixel16
git-svn-id: trunk@40992 -
2019-01-22 14:34:47 +00:00
nickysn
5abb5b0658 * use xchg ax,cx instead of mov in GetPixel16
git-svn-id: trunk@40991 -
2019-01-22 14:33:41 +00:00
nickysn
fc61a2e62e * moved the initial GC port output to the beginning of GetPixel16
git-svn-id: trunk@40990 -
2019-01-22 14:32:01 +00:00
nickysn
98bbc0ab14 * swapped di and ax in the beginning of GetPixel16
git-svn-id: trunk@40989 -
2019-01-22 14:30:18 +00:00
nickysn
f1ad989ba1 * moved the ES register initialization in GetPixel16 to the beginning of the function
git-svn-id: trunk@40988 -
2019-01-22 14:28:46 +00:00
nickysn
6753237fe4 * replaced the slow mul instruction in GetPixel16 with faster shifts and adds
git-svn-id: trunk@40987 -
2019-01-22 14:27:48 +00:00
nickysn
985ec0688a * some more optimizations in GetPixel16
git-svn-id: trunk@40986 -
2019-01-22 12:58:02 +00:00
nickysn
0c440183c6 + enabled the true color support in ptcgraph
git-svn-id: trunk@40985 -
2019-01-22 09:07:37 +00:00
nickysn
d653193c36 * some optimizations in GetPixel16
git-svn-id: trunk@40984 -
2019-01-22 01:29:02 +00:00
nickysn
3b2fc5d34b * save another 2 bytes from the InitModeX code :)
git-svn-id: trunk@40983 -
2019-01-21 23:09:58 +00:00
nickysn
81aea037ec * reenabled the asm version of InitModeX
git-svn-id: trunk@40982 -
2019-01-21 23:07:51 +00:00
nickysn
596c1e7efa * huge memory model fixes in InitModeX
git-svn-id: trunk@40981 -
2019-01-21 22:54:08 +00:00
nickysn
37c05b3749 + added pascal version of InitModeX
git-svn-id: trunk@40980 -
2019-01-21 22:50:50 +00:00
nickysn
f6aa6e5b58 * another byte saved in the InitModeX routine :)
git-svn-id: trunk@40978 -
2019-01-21 18:06:07 +00:00
nickysn
5655b04b1c * use 'cmp mem,const' to check DontClearGraphMemory, instead of first loading it
into a register in InitModeX. This saves 1 byte of code from an initialization
  routine. Hurrah! :)

git-svn-id: trunk@40977 -
2019-01-21 17:43:57 +00:00
nickysn
5738ba19bb * converted InitModeX to a pure asm routine
git-svn-id: trunk@40976 -
2019-01-21 16:47:30 +00:00
nickysn
c26df36bc5 * size of the DrawnList buffer moved to a local variable, to avoid repeated code and repeated calculations
git-svn-id: trunk@40975 -
2019-01-21 16:24:46 +00:00
nickysn
6bb104a16d * unified the out of memory check in FloodFill and perform proper cleanup, so no memory leaks arise
git-svn-id: trunk@40974 -
2019-01-21 16:22:11 +00:00
nickysn
b654c34d64 * read the planes in reverse order, so that less shift instructions are required in GetPixel16
git-svn-id: trunk@40973 -
2019-01-21 16:09:13 +00:00
nickysn
33c330b3bc * store the size of the s1,s2 and s3 buffers, used inside FloodFill in a
variable, so memory allocation and disposal becomes easier, with less ifdefs

git-svn-id: trunk@40972 -
2019-01-21 16:08:38 +00:00
nickysn
f356add031 * moved the s1,s2,s3 scanline memory allocation in FloodFill before changing
CurrentColor, so it doesn't get changed if the function exits prematurely due
  to out of memory

git-svn-id: trunk@40971 -
2019-01-21 15:46:34 +00:00
nickysn
003a08f040 * use 'cbw' and 'cwd' instead of 'xor reg, reg' in the asm version of GetPixel16
git-svn-id: trunk@40970 -
2019-01-21 15:43:31 +00:00
nickysn
300e584936 * use 'cwd' instead of 'xor dx, dx' in the asm version GetPixel320
git-svn-id: trunk@40969 -
2019-01-21 15:30:58 +00:00
nickysn
57c931cb4c * use lodsb with a segment override prefix instead of mov in the asm version of GetPixel320
git-svn-id: trunk@40968 -
2019-01-21 15:28:22 +00:00
nickysn
1b4fcabc1d * use the si register instead of di in the asm version of GetPixel320
git-svn-id: trunk@40967 -
2019-01-21 15:18:51 +00:00
nickysn
cab9b4cb6b * fixed return of result in the asm version of GetPixel320
git-svn-id: trunk@40966 -
2019-01-21 15:16:16 +00:00
nickysn
92304ce573 * moved the check in FloodFill whether x,y are within the current viewport in
the beginning, before any heap memory allocations, to avoid memory leaks when
  FloodFill is invoked with a point that is outside the current viewport

git-svn-id: trunk@40965 -
2019-01-21 14:50:26 +00:00
nickysn
e6835e8ff7 * added check to ensure the memory allocation for DrawnList inside FloodFill hasn't returned nil
git-svn-id: trunk@40964 -
2019-01-21 14:47:48 +00:00
nickysn
f322b45611 * ignore VideoOfs entirely in mode 13h, since it doesn't support video pages
git-svn-id: trunk@40962 -
2019-01-21 14:12:17 +00:00
nickysn
698f8679d4 - removed comment saying that and/or/not put is not implemented, because it is implemented now
git-svn-id: trunk@40961 -
2019-01-21 14:10:41 +00:00
nickysn
39e1e4d2e7 + enabled the asm version of DirectPutPixel320
git-svn-id: trunk@40960 -
2019-01-21 14:09:25 +00:00
nickysn
907e3afae4 * 8086/8088 support in the asm version of DirectPutPixel320
git-svn-id: trunk@40959 -
2019-01-21 13:52:08 +00:00
nickysn
88f062dec8 + implemented all the write modes in the asm version of DirectPutPixel320
git-svn-id: trunk@40958 -
2019-01-21 13:51:40 +00:00
nickysn
f1467fdaaf * only load the low byte of CurrentColor in the asm version of DirectPutPixel320
git-svn-id: trunk@40957 -
2019-01-21 13:42:59 +00:00
nickysn
1d9dae2129 - removed commented out code from DirectPutPixel320
git-svn-id: trunk@40956 -
2019-01-21 13:40:41 +00:00
nickysn
0a838fa082 * huge memory model fix for the asm version of DirectPutPixel320
git-svn-id: trunk@40955 -
2019-01-21 13:40:04 +00:00
nickysn
6fe9285aa5 - removed the 32-bit asm code from the asm version of DirectPutPixel320
git-svn-id: trunk@40954 -
2019-01-21 13:39:14 +00:00
michael
198abd5e26 * Add Unicode/Widestring overload on windows for ResolveRelativeURI
git-svn-id: trunk@40952 -
2019-01-21 08:16:13 +00:00
michael
4f8b595e30 * Defaults are not to add default identifiers (fpdoc)
git-svn-id: trunk@40944 -
2019-01-20 17:55:15 +00:00
michael
2bcc195677 * Generic templates can be separated by semicolon (used in fgl unit)
git-svn-id: trunk@40942 -
2019-01-20 17:10:16 +00:00
michael
80e014d94a * Fix compilation
git-svn-id: trunk@40940 -
2019-01-20 16:52:09 +00:00
michael
6e704b6a4f * Parse type constraints in generics
git-svn-id: trunk@40939 -
2019-01-20 16:45:31 +00:00
michael
d3c8ca53f7 * Add in operator
git-svn-id: trunk@40936 -
2019-01-20 13:04:28 +00:00
michael
867de68d9a * Remove debug statement
git-svn-id: trunk@40935 -
2019-01-20 13:04:15 +00:00
michael
ed91d6d094 * Fix syntax error
git-svn-id: trunk@40930 -
2019-01-20 12:32:01 +00:00
michael
ad5c48d539 * Widestring -> unicodestring
git-svn-id: trunk@40927 -
2019-01-20 11:12:49 +00:00
michael
fd6fbed094 * Fix one character being eaten at end of input string
git-svn-id: trunk@40926 -
2019-01-20 11:11:58 +00:00
nickysn
28bb659a1c * PutPixel320 converted to pure assembler routine
git-svn-id: trunk@40924 -
2019-01-19 22:07:03 +00:00
nickysn
25c3981236 * use stosb instead of mov to draw the pixel inside the asm version of PutPixel320
git-svn-id: trunk@40923 -
2019-01-19 21:33:26 +00:00
nickysn
9f4e6c48b3 * only read the low byte of the pixel color in the asm version of PutPixel320
git-svn-id: trunk@40922 -
2019-01-19 21:27:16 +00:00
nickysn
08a86b6b9f * perform clipping in assembly in the PutPixel320 asm routine
git-svn-id: trunk@40919 -
2019-01-19 18:03:51 +00:00
nickysn
1e0a811aad * implemented the viewport adjustment in asm instead of pascal in the asm
version of the PutPixel320 routine

git-svn-id: trunk@40918 -
2019-01-19 17:24:24 +00:00
nickysn
6648bacec6 * GetPixel320 converted to a pure assembler routine
git-svn-id: trunk@40917 -
2019-01-19 17:02:54 +00:00
nickysn
9745c6434a * do the view port adjustment in asm instead of pascal in the asm version of
GetPixel320

git-svn-id: trunk@40916 -
2019-01-19 16:59:15 +00:00
nickysn
8c1de487c5 + enabled the asm version of GetPixel320
git-svn-id: trunk@40915 -
2019-01-19 16:56:49 +00:00
nickysn
2de69d12bb * huge memory model fix for the asm version of the GetPixel320 routine
git-svn-id: trunk@40914 -
2019-01-19 16:56:13 +00:00
nickysn
7c55d08360 + pure pascal implementation of GetPixel320
git-svn-id: trunk@40913 -
2019-01-19 16:55:34 +00:00
michael
a33b2ab2f3 * Add a $mode fpc statement, as shortstrings are assumed
git-svn-id: trunk@40912 -
2019-01-19 16:47:40 +00:00
nickysn
4a14ee770a + enabled the asm version of PutPixel320
git-svn-id: trunk@40911 -
2019-01-19 16:46:30 +00:00
nickysn
e12968eb8c * huge memory model fix for the asm version of PutPixel320
git-svn-id: trunk@40910 -
2019-01-19 16:38:44 +00:00
nickysn
dca76d84c9 + added pure pascal version of the routine PutPixel320
git-svn-id: trunk@40909 -
2019-01-19 16:36:54 +00:00
nickysn
7bda42edac - removed unused asm code from SetVisual200
git-svn-id: trunk@40907 -
2019-01-19 16:20:21 +00:00
nickysn
d66edabe43 * the asm version of DirectPutPixel16 convert to pure inline asm routine
git-svn-id: trunk@40906 -
2019-01-19 16:11:03 +00:00
nickysn
1dc3db4ee1 * handle the NotPut write mode in asm instead of pascal in the asm version of
DirectPutPixel16

git-svn-id: trunk@40904 -
2019-01-19 15:59:42 +00:00
nickysn
5b4529db6f + introduced SetWriteModeEx to the Graph unit. Unlike SetWriteMode, it allows
setting the current write mode to any mode, such as NormalPut/CopyPut, XorPut,
  OrPut, AndPut or NotPut. For comparison, SetWriteMode only allows NormalPut/
  CopyPut and XorPut. Fixes Mantis #30773.

git-svn-id: trunk@40903 -
2019-01-19 15:16:49 +00:00
nickysn
e3df1e1da8 * cleaned up, optimized a little, added support for all write modes
(and/or/xor/not) and enabled the asm version of the DirectPutPixel16 routine

git-svn-id: trunk@40902 -
2019-01-19 12:54:47 +00:00
nickysn
8c804fd4d3 - removed the pascal case code before the asm block in the asm version of
DirectPutPixel16

git-svn-id: trunk@40901 -
2019-01-19 11:18:39 +00:00
nickysn
24f0625ee8 * use huge memory model compatible initialization of es=SegA000 in the asm
version of DirectPutPixel16

git-svn-id: trunk@40900 -
2019-01-19 10:58:18 +00:00
pierre
c986e5891a Activate fpc-web package for android OS, except for jvm compiler
git-svn-id: trunk@40899 -
2019-01-19 10:26:51 +00:00
nickysn
cea8f5a4c5 * refactored DirectPutPixel16, so it is strictly split into pascal and asm version; asm version not enabled yet
git-svn-id: trunk@40898 -
2019-01-18 19:57:51 +00:00
nickysn
b789b84bd0 * cleaned up, fixed, optimized a little and enabled the assembler version of GetPixel16
git-svn-id: trunk@40897 -
2019-01-18 15:48:09 +00:00
nickysn
09c76c78c6 * cleaned up, fixed, optimized a little and enabled the assembler version of PutPixel16
git-svn-id: trunk@40896 -
2019-01-18 15:17:43 +00:00
nickysn
ff78058f8c - removed commented out code from PutPixel320 and GetPixel320
git-svn-id: trunk@40895 -
2019-01-18 13:49:05 +00:00
nickysn
61e91a3c6c * fixed result of GetPixel320 when FPC_GRAPH_SUPPORTS_TRUECOLOR is defined
git-svn-id: trunk@40894 -
2019-01-18 13:46:47 +00:00
nickysn
463ea5a16f - get rid of the '{$ifdef fpc}@{$endif}' from the i8086-msdos graph unit
git-svn-id: trunk@40893 -
2019-01-18 13:32:45 +00:00
nickysn
06d8fa7e34 + use the ColorType type in the i8086-msdos graph unit, so that it compiles with
FPC_GRAPH_SUPPORTS_TRUECOLOR (not enabled yet)

git-svn-id: trunk@40892 -
2019-01-18 13:22:18 +00:00
nickysn
0849951fed - removed all the '{$ifndef fpc}far;{$endif fpc}' declarations from the i8086-msdos graph unit
git-svn-id: trunk@40891 -
2019-01-18 12:52:22 +00:00
nickysn
6066eb07b4 * only save BP and DS when calling int 10h; mark the other registers as volatile in the asm blocks
- removed the 'ifdef FPC' around the register saving code around the int 10h calls

git-svn-id: trunk@40890 -
2019-01-18 12:32:00 +00:00
nickysn
ecfbf8f3cb - removed all the 'ifdef fpc'/'ifndef fpc' from the go32v2 graph unit to
make it easier to maintain and because its TP7 compatibility hasn't been
  maintained for a very long time

git-svn-id: trunk@40889 -
2019-01-17 17:07:54 +00:00
nickysn
d7d9588569 + accelerated xor/and/orput hline routines for the 16bpp linear framebuffer modes
git-svn-id: trunk@40888 -
2019-01-17 16:00:02 +00:00