What I've learned while trying to port my game engine to PS Vita

Hipreme msnmancini at hotmail.com
Sat Jun 25 18:20:32 UTC 2022


On Saturday, 25 June 2022 at 17:53:23 UTC, Guillaume Piolat wrote:
> On Thursday, 23 June 2022 at 03:12:30 UTC, Hipreme wrote:
>> There comes a big list:
>>
>> - Dub's optional dependencies. They basically needs to be 
>> added to the main project for being included. After doing my 
>> project for so long and reducing a lot of dependencies, I 
>> found many uses to that. I can guarantee that you will almost 
>> always need a `version` statement together with this optional 
>> though.
>
> Interesting, I never really tried optional dependencies.
> Doesn't DUB produce a version=Have_flobber in case flobber is 
> in the project?

Humm I have seen some strange behaviour though when using this 
kind of Have_dep. So I avoid using them. As my engine is a 
project really big by now, the consistent case I'm using is 
`Have_hipreme_engine`. In which case is currently used for 
generating release builds, so, the scripting functions won't be 
loaded using the shared library, they will actually be aliased to 
the functions which implement them. I done like that for reducing 
the dependency on the system library + optimization opportunities 
:D

In the renderer case, it is being done like that:

```json
{
"bindbc-opengl": {"version": "~>1.0.0", "optional": true},
"directx-d": {"path": "../../dependencies/directx-d", "optional": 
true},
"gles" : {"path": "../../dependencies/gles", "optional": true}
}
```

And in the main project, I just do configurations for that, like, 
Android:

```
{
    "name": "android",
    "dependencies" : {
       "gles" : {"path": "../../dependencies/gles", "optional": 
true}
    },
    "versions" : ["GLES3"]
}
```



More information about the Digitalmars-d mailing list