May 19, 2014
On Monday, 19 May 2014 at 21:08:25 UTC, Kiith-Sa wrote:
> Box2D would be awesome. I'm about to start a project that would greatly benefit from good 2D physics (I used simple AABB till now simply because physics is too much of a PITA)
>
> How do you port 20kloc in 2 days?
> D:YAML took me months (although it was python w/ some dynamic classes)

Oh you made D:YAML? I personally would like to thank you for providing us with an awesome library which we use for all non-art data loading. It's been really good to us.
May 19, 2014
On Monday, 19 May 2014 at 21:10:02 UTC, Colden Cullen wrote:
> On Monday, 19 May 2014 at 21:08:25 UTC, Kiith-Sa wrote:
>> Box2D would be awesome. I'm about to start a project that would greatly benefit from good 2D physics (I used simple AABB till now simply because physics is too much of a PITA)
>>
>> How do you port 20kloc in 2 days?
>> D:YAML took me months (although it was python w/ some dynamic classes)
>
> Oh you made D:YAML? I personally would like to thank you for providing us with an awesome library which we use for all non-art data loading. It's been really good to us.

Is performance not a problem so far?
I did avoid unnecessary allocations but it still does use the GC quite a bit (I plan to eventually change that and add some other optimizations but I'd like std.allocator to be in phobos first and I didn't find it too slow for my own projects yet).
May 19, 2014
On Monday, 19 May 2014 at 21:19:12 UTC, Kiith-Sa wrote:
> Is performance not a problem so far?
> I did avoid unnecessary allocations but it still does use the GC quite a bit (I plan to eventually change that and add some other optimizations but I'd like std.allocator to be in phobos first and I didn't find it too slow for my own projects yet).

No, not at all. Aside from the debug-only auto reloads, which only reload changed files, we only read from the YAML at initialization, which we haven't even thought about optimizing yet. So the short answer is no, it's been plenty fast.
May 19, 2014
On Monday, 19 May 2014 at 21:00:37 UTC, Colden Cullen wrote:
>
> As far as bullet goes, that would be amazing, but definitely no small undertaking. We talked about it internally, but decided it wasn't worth the time for just trying to get Dash off the ground. You should know, though, that if you do it, you'll have at least one user :)

This might be of interest then:
https://github.com/MeinMein/BulletD


May 19, 2014
On Monday, 19 May 2014 at 21:28:45 UTC, ponce wrote:
> This might be of interest then:
> https://github.com/MeinMein/BulletD

That's pretty cool! It doesn't appear (from the wording, at least) to be incredibly stable, but it certainly seems like a good start. I'll do some more research into it.
May 19, 2014
On 5/19/14, Kiith-Sa via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
> Box2D would be awesome. I'm about to start a project that would greatly benefit from good 2D physics (I used simple AABB till now simply because physics is too much of a PITA)

Excellent. Expect the port to be done within a day or two. I just have some runtime bugs to squash.

> How do you port 20kloc in 2 days?

Past experience helps I guess. I ported Chipmunk (10K) mostly over night. I've ported lots of codebases already, so this has become sort of a second-nature to me. :P
May 19, 2014
On 5/19/14, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote:
> Excellent. Expect the port to be done within a day or two. I just have some runtime bugs to squash.

In the meantime here's a teaser: http://i.imgur.com/HQSNhO2.png

The test-suite uses IMGUI which I've recently ported to D as well, so
you can use it right away:
https://github.com/d-gamedev-team/dimgui
http://code.dlang.org/packages/dimgui
May 20, 2014
On Monday, 19 May 2014 at 21:39:18 UTC, Andrej Mitrovic via Digitalmars-d-announce wrote:
> On 5/19/14, Kiith-Sa via Digitalmars-d-announce
>> How do you port 20kloc in 2 days?
>
> Past experience helps I guess. I ported Chipmunk (10K) mostly over
> night. I've ported lots of codebases already, so this has become sort
> of a second-nature to me. :P

Port? Or wrap? Because 10K in < 10 hours feels crazy. Even worse than crazy! :D

BTW: thank you so much for imgui, I discovered it yesterday and I'm already using it: it is so simple it is awesome, even in early alpha stage! It IS the most immediate gui I've ever used ;)
May 21, 2014
On 5/21/14, francesco cattoglio via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
> Port? Or wrap? Because 10K in < 10 hours feels crazy. Even worse than crazy! :D

I think after all I might just be remembering it wrong. And in fact git log will tell me otherwise. Let's see:

$ git log --reverse --pretty=format:"%ad %s"

Wed Oct 30 17:13:59 2013 +0100 Initial commit.
Fri Nov 1 01:54:24 2013 +0100 Ported most code.

Of course I didn't work non-stop on it (humans have to sleep sometime). If you stitch the hours up together I think the initial port was done fairly quickly. But it wasn't a hard codebase to port, it's a C codebase.

Porting C++ can be harder because you have things like C++ classes used by value which have their default ctor called, and this doesn't translate easily to D's structs.

> BTW: thank you so much for imgui, I discovered it yesterday and I'm already using it: it is so simple it is awesome, even in early alpha stage! It IS the most immediate gui I've ever used ;)

Cool, glad it works for you!
May 21, 2014
On 5/21/14, francesco cattoglio via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
> BTW: thank you so much for imgui, I discovered it yesterday and I'm already using it: it is so simple it is awesome, even in early alpha stage! It IS the most immediate gui I've ever used ;)

Btw I've added a memory-management section now, in case you ever run
into issues like garbled text being displayed on the screen (I know I
did):
https://github.com/d-gamedev-team/dimgui#memory-management