From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.0 required=3.0 tests=BAYES_40,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:a05:6214:174f:: with SMTP id dc15mr374157qvb.26.1603769675791; Mon, 26 Oct 2020 20:34:35 -0700 (PDT) X-Received: by 2002:ac8:13c9:: with SMTP id i9mr272818qtj.89.1603769675596; Mon, 26 Oct 2020 20:34:35 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!feeder1.feed.usenet.farm!feed.usenet.farm!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 26 Oct 2020 20:34:35 -0700 (PDT) In-Reply-To: <142bedd2-fb45-4795-ba3b-8bd599509f0cn@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=99.10.228.144; posting-account=AgomvAoAAAAj6rtZlNDUf1S1XVXbXDpg NNTP-Posting-Host: 99.10.228.144 References: <9d822023-b604-46b1-9443-4471e095704bn@googlegroups.com> <6f14427c-15a6-4874-a3f5-7bc308b2d3bfn@googlegroups.com> <1f745514-0d25-439f-8872-59030515406en@googlegroups.com> <8287aaea-1945-455d-bfb0-c82f5d27bc4cn@googlegroups.com> <142bedd2-fb45-4795-ba3b-8bd599509f0cn@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: GDNative thick binding design From: Michael Hardeman Injection-Date: Tue, 27 Oct 2020 03:34:35 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:60492 List-Id: On Monday, October 26, 2020 at 9:53:52 AM UTC-4, Michael Hardeman wrote: > > Real good work.=20 > >=20 > > And especially that you started with a "game" that way you usually get = a=20 > > better feeling for what is needed, and to start to explore from the gam= e=20 > > side with the focus How do to get an Ada api not a C api written i Ada= =20 > > is a realy good path.=20 > >=20 > > But I still think that the binding is kind of upside down with the=20 > > Low-level stuff on the top visible for everyone and the think bindings= =20 > > highlighted as such instead of the other way around.=20 > >=20 > > And on the project structure, for the "library project Adventure" I=20 > > would have used and exended project 'library project Adventure extends= =20 > > "../../gdnative_ada.gpr" is', by doing that it's possible to move the= =20 > > methods in engine_hooks up to the root project and only have the "game"= =20 > > stuff in the adventure project.=20 > >=20 > > /Regards=20 > > /P > Hey Persan,=20 >=20 > Thanks for the words of encouragement.=20 > 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 s= ome 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 c= ould get away with it maybe if I use gnatprep preprocessor in some way http= s://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Integrated-Preprocessing.= html#Integrated-Preprocessing https://github.com/MichaelAllenHardeman/gdnative_ada/tree/architecture-refa= ctor