comp.lang.ada
 help / color / mirror / Atom feed
From: Michael Hardeman <mhardeman25@gmail.com>
Subject: Re: GDNative thick binding design
Date: Mon, 26 Oct 2020 20:34:35 -0700 (PDT)	[thread overview]
Message-ID: <a1a7e6ab-c260-456a-9cfc-548510da4728n@googlegroups.com> (raw)
In-Reply-To: <142bedd2-fb45-4795-ba3b-8bd599509f0cn@googlegroups.com>

On Monday, October 26, 2020 at 9:53:52 AM UTC-4, Michael Hardeman wrote:
> > Real good work. 
> > 
> > And especially that you started with a "game" that way you usually get a 
> > better feeling for what is needed, and to start to explore from the game 
> > side with the focus How do to get an Ada api not a C api written i Ada 
> > is a realy good path. 
> > 
> > But I still think that the binding is kind of upside down with the 
> > Low-level stuff on the top visible for everyone and the think bindings 
> > highlighted as such instead of the other way around. 
> > 
> > And on the project structure, for the "library project Adventure" I 
> > would have used and exended project 'library project Adventure extends 
> > "../../gdnative_ada.gpr" is', by doing that it's possible to move the 
> > methods in engine_hooks up to the root project and only have the "game" 
> > stuff in the adventure project. 
> > 
> > /Regards 
> > /P
> Hey Persan, 
> 
> Thanks for the words of encouragement. 
> Those changes don't sound too difficult. I'm not sure if I'll be able to truly hide the engine hook stuff. I'll try it out on a branch today.

I've done a pass pulling the Thick bindings up a level and pushing the thin bindings down a level. Right now they are on a separate branch. There is some stuff I can clean up that would make me happier about it. I still don't see how to move the engine_hooks stuff into the library level code because the External_Names names that need to be exported for those functions have a prefix "adventure_" that is configured at the project level. I think I could get away with it maybe if I use gnatprep preprocessor in some way https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Integrated-Preprocessing.html#Integrated-Preprocessing

https://github.com/MichaelAllenHardeman/gdnative_ada/tree/architecture-refactor

  reply	other threads:[~2020-10-27  3:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-15 21:08 GDNative thick binding design Michael Hardeman
2020-10-16  6:38 ` Luke A. Guest
2020-10-16 16:39   ` Michael Hardeman
2020-10-16 18:09     ` Luke A. Guest
2020-10-16 18:28       ` Michael Hardeman
2020-10-16 18:31         ` Luke A. Guest
2020-10-21  2:58           ` Michael Hardeman
2020-10-21  6:59             ` Luke A. Guest
2020-10-21 22:08               ` Michael Hardeman
2020-10-21 23:22                 ` Luke A. Guest
2020-10-26  3:38                   ` Michael Hardeman
2020-10-26  5:41                     ` Per Sandberg
2020-10-26 13:53                       ` Michael Hardeman
2020-10-27  3:34                         ` Michael Hardeman [this message]
2020-10-17 10:09         ` AdaMagica
2020-10-18 20:21 ` Per Sandberg
2020-10-21  3:34   ` Michael Hardeman
2020-10-21 16:16     ` Per Sandberg
2020-10-21 22:48       ` Michael Hardeman
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox