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=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx30.am4.POSTED!not-for-mail Subject: Re: GDNative thick binding design Newsgroups: comp.lang.ada 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> From: Per Sandberg User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Message-ID: X-Complaints-To: abuse@usenet.se NNTP-Posting-Date: Mon, 26 Oct 2020 05:41:45 UTC Organization: usenet.se Date: Mon, 26 Oct 2020 06:41:44 +0100 X-Received-Bytes: 2981 X-Received-Body-CRC: 1953839104 Xref: reader02.eternal-september.org comp.lang.ada:60488 List-Id: 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 On 26/10/2020 04:38, Michael Hardeman wrote: > On Wednesday, October 21, 2020 at 7:23:39 PM UTC-4, Luke A. Guest wrote: >> On 21/10/2020 23:08, Michael Hardeman wrote: >> >>> Hey Luke, >>> >>> I managed to figure it out: https://ideone.com/H9sV55 >>> >> I'm fairly sure that's almost right. I think the idea is that you only >> need to pass the parameters to a single function which then dispatches >> to the correct constructor for you. > > Hey Luke, > > https://github.com/MichaelAllenHardeman/gdnative_ada > I've done an initial pass on the thick binding. Do you think you could give me some pointers on where I could do better? > I have a feeling there is a way to do GDNative.Thick.Objects better > > Still, as is it's pretty nice to use. It only takes just a tiny bit of user code to get an object registered and running a function on each frame. > https://github.com/MichaelAllenHardeman/gdnative_ada/tree/master/examples/adventure_game/src >