Hi there, I made a tool that manipulates OWs and I'd like to make it support your engine, DSLN, and its extended OWs feature. I read through the source code in your GitHub and I'd appreciate it if you'd help me clarify some things.
In the npc_get_template.s the code goes in the 'table_lookup' only if in r0 we had either a pointer (to an extended OW?) or the ID of an extended OW. Now if understood correctly the extended ID consists of two bytes. So, when entering table_lookup r1 would have the most significant byte and r0 the less significant of the ID respectively.
So here are my questions:
>In the table_lookup why do you calculate the OW's address for both r0 and r1?
>owtable = 0x80505620 which is the address of the original OW table. That means that it will try to load the address of the Ow structure, of the corresponding OW, from the Original table. But if thats true where am I supposed to insert my pointer for an extended OW
>Why would r0 have a pointer in the first place
Any kind of help or advise would be really appreciated :)