![]() |
![]() |
![]() |
![]() |
We did a few moves and renames to our Lazarus packages.
After upgrading to the latest engine version, be sure to run again “Register Lazarus Packages” button (from the “Preferences -> FPC and Lazarus” in our editor, as documented in our Lazarus docs).
Note that the existing applications will continue to work even without you doing the above, because new packages provide the old names too. But we advise to just use new names from now on.
The short version of the changes: Lazarus packages are now in the packages/lazarus/ subdirectory of the repository, with some better names.
Full list of changes and their reasons:
- We moved Lazarus packages to subdirectory packages/lazarus.
Reason: This is consistent (sibling) to Delphi packages in packages/delphi, and good for TMS Smart Setup, and likely just more obvious to both Lazarus and Delphi users.
-
We rename packages to add
_engine
. So we havecastle_base.lpk
->castle_engine_base.lpk
castle_window.lpk
->castle_engine_window.lpk
- and so on.
Reason:
- Avoids having
castlewindow.pas
andcastle_window.pas
(the latter just auto-generated package unit) being too close to each other. They are completely unrelated units. - New names are consistent with Delphi packages (which always had the
_engine
part).
- We rename
castle_components
tocastle_engine_lcl
. So in addition to adding_engine
, we changecomponents
->lcl
.Reason:
- The
components
word there was confusing for a long time. Because this is not the only package with “components”, other packages (includingbase
) also provide components (though they don’t register them now in Lazarus component palette, but they did in the past). However, this is the only package that depends on LCL and thus providesTCastleControl
that uses LCL. This package may provide more LCL components in the future. - It also makes name of
alternative_castle_engine_window_based_on_lcl.lpk
more obvious. Nowalternative_castle_engine_window_based_on_lcl.lpk
depends oncastle_engine_lcl.lpk
— which looks obvious and natural. - We have planned to do this rename for quite a while now. We mentioned it in TCastleControl docs and packages README that “this should probably be renamed to
castle_lcl
” already. - This seemed to be a good moment to do this, as we go with rename/move anyway.
- The
Note that the packages/lazarus/README.md has been updated to reflect it all. We also updated Lazarus docs, TCastleControl docs and everything else we found.
Start the discussion at Castle Game Engine Forum