Delgine 3D Tools & Content DeleD Community Edition
Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Changes that will support Lazarus conversion

 
Post new topic   Reply to topic    DeleD Community Edition Forum Index -> DeleD Development
View previous topic :: View next topic  
Author Message
JuhaManninen
Member


Joined: 25 Mar 2011
Posts: 27
Location: Finland

PostPosted: Sat Mar 26, 2011 10:28 am    Post subject: Changes that will support Lazarus conversion Reply with quote

Hi

I have used DeleD as a test case for the Delphi converter in Lazarus. We even used it to stress test and optimise the editor's handling of many open files (> 400). Good test case!

The converter still does rather primitive changes to a project. It replaces some used unit names, adds some IFDEFs, replaces non-existent components with fall-back components, replaces some called func names, ... etc.
but it does not currently do any deeper code analysis.

The real porting is a manual task.
I have not seriously tried making DeleD compile with Lazarus but I would like to try it some day.

There are some issues which could be fixed already before any conversion:

- many of the subdirectories are actually external libraries that should not be included in DeleD source tree. At least FastMM, Gr32, PascalScript and SynEdit are such libraries. They are all ported to Lazarus except for FastMM which is not needed.
You can of course offer those libraries for download on DeleD site but they should be separate packages.

- Cross-platform OpenGL is not compatible with Windows OpenGL.
I asked about it on a mailing list and a person with OpenGL knowledge gave some replacement funcs and types. Fonts seem to be difficult. From the mail:
---
> wglUseFontBitmaps
> wglUseFontOutlines
Not available on other platforms. Can not be ported. You need to emulate these functions (with freetype you should be able to code a multi platform solution). Better replace them with a different text-output function. (Not that easy)
---

The problem is that I know nothing about OpenGL programming.
Someone else should solve the OpenGL issues.

Regards,
Juha Manninen
Back to top
View user's profile Send private message
chronozphere
DeleD PRO user


Joined: 20 Jun 2006
Posts: 1010
Location: Netherlands

PostPosted: Sun Mar 27, 2011 5:42 pm    Post subject: Reply with quote

wow. It's great to see someone working on a lazarus port of DeleD. Smile

Maybe I could help out in the future. Right now, I'm having trouble coping with my own projects. It would be really interesting to see DeleD running on other platforms aswell. It might be a starting point, where we could attract new developers and start to gradually refactor the codebase, add new features etc.. Smile

Please keep us posted! And keep up the good work! Wink
Back to top
View user's profile Send private message
JuhaManninen
Member


Joined: 25 Mar 2011
Posts: 27
Location: Finland

PostPosted: Sun Mar 27, 2011 8:04 pm    Post subject: Reply with quote

I didn't do anything for DeleD, not yet anyway.
I am thinking if it's realistic to try to port it.
I could do something but not everything. As I mentioned I don't know much about OpenGL programming (although I can learn some).
I am also not good using these graphics programs but I enjoy their results and the programming challenges.

If other people can participate then it makes sense to create a new SVN branch for Lazarus port. It requires many changes and will not be usable for long time anyway. Creating a branch does not imply any big decisions about DeleD future. If it becomes good then it lives and maybe replaces the old main branch. If it flops then it dies, no harm done.

What is the purpose of having the local versions of FastMM, Gr32, PascalScript and SynEdit (and OpenGL)? Do they differ so much from the "official" versions?
Supporting both Delphi and Lazarus with the same code base is difficult with those libs in the source. It may be difficult anyway due to differences in APIs.
A realistic option is to make a Lazarus-only version and add Delphi-support back later if needed.

Juha
Back to top
View user's profile Send private message
Jeroen
Site Admin


Joined: 07 Aug 2004
Posts: 5316
Location: The Netherlands

PostPosted: Sun Mar 27, 2011 8:52 pm    Post subject: Reply with quote

Question is: what is the real benefit of porting to Lazarus? Don't just port because its a nice programming challenge. If you need a challenge, there are more than enough areas within DeleD itself that need attention. Smile

However, perhaps we can attract more developers if DeleD is Lazarus-based. Lazarus is free, so that might be an important reason for people to prefer Lazarus over Delphi, but I don't know that for sure.

Is there any way to figure out if Lazarus is good for DeleD? As in, can we figure out if multiple developers would be interested in working on DeleD if DeleD can be build using Lazarus?
_________________
Check out the gallery, our DeleD Wiki and Youtube videos!
Back to top
View user's profile Send private message Send e-mail Visit poster's website
JuhaManninen
Member


Joined: 25 Mar 2011
Posts: 27
Location: Finland

PostPosted: Sun Mar 27, 2011 10:46 pm    Post subject: Reply with quote

Jeroen wrote:
Question is: what is the real benefit of porting to Lazarus? Don't just port because its a nice programming challenge. If you need a challenge, there are more than enough areas within DeleD itself that need attention. Smile


Well, I work with Linux myself and only seldom boot Windows. I will not switch to Windows just to develop DeleD with Delphi.
True, it would be partly a programming challenge, but I am interested only if it's wanted and joined by others.

Quote:

However, perhaps we can attract more developers if DeleD is Lazarus-based. Lazarus is free, so that might be an important reason for people to prefer Lazarus over Delphi, but I don't know that for sure.


You will attract interest for sure, but true developers... it is possible but don't count on it.

Quote:

Is there any way to figure out if Lazarus is good for DeleD? As in, can we figure out if multiple developers would be interested in working on DeleD if DeleD can be build using Lazarus?


The port is possible for sure. Some big OpenGL progs have been ported from Delphi to Lazarus indeed. The question is how much time, effort and knowledge it requires.
I can't be sure that I can port such code, it would be a true challenge.

Lazarus is gaining popularity also in countries where people can't afford Delphi. But still, being a developer in a big 3-D SW requires more than just being interested.

I have understood that DeleD does not have active developers now.
I read the forum posts after the open source announcement. Some people considered important to dump Delphi and port DeleD to something else, C++, C#, Java (!) or Lazarus.
It was rather abstract talk, I bet nobody will actually write a C++ version of DeleD.

Anyway, Lazarus would allow _porting_ the code, the other choices would require _rewriting_ it.


Juha
Back to top
View user's profile Send private message
chronozphere
DeleD PRO user


Joined: 20 Jun 2006
Posts: 1010
Location: Netherlands

PostPosted: Mon Mar 28, 2011 7:01 am    Post subject: Reply with quote

Quote:

However, perhaps we can attract more developers if DeleD is Lazarus-based. Lazarus is free, so that might be an important reason for people to prefer Lazarus over Delphi, but I don't know that for sure.


It will make DeleD accessible to a wide range of developers. Even people who don't have experience with Lazarus can easily install it and get cracking. I think it's definitely worth a try.

Also, I'd love to see DeleD work on Linux. Wink
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    DeleD Community Edition Forum Index -> DeleD Development All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum