FOnline Development > Tools

Last Engine API informations (scripts)

<< < (2/2)

Berko:
I successfully created header file with your new dlls for mapper and server, it crash for client but now I see what it look like :)
Is there something special to do with client? Modules have to be added in scripts.cfg for each application and mapper header is created when launching mapper and both server and client headers are created when starting server, it's that? Or directly compiled with AsCompiler with "-mapper", "-server" or "-client" ?
For information, when it's write "// Arguments for this function have been guessed" it's because AngelScript function return prototype without arguments name?
What I see with my brutal and ugly method is that reading exe file didn't show all information, memory image of program look to have all information using debug tool to dump memory. I think it can be easier (maybe not ..) with dll as AsCompiler will still be running.

Atom:
I updated the IntellisenseCreator files again, fixing the client crash and reworking few things.

The headers can be generated by either
1) compiling create_intellisense.fos by using ASCompiler with -server, -client and -mapper switches, or
2) compiling it as a server, client or a mapper module by either server (for server and client headers) or mapper.

In case of 2), the create_intellisense module should be the last one on the list of modules, in each of server, client and mapper sections.

The advantage of 2) is that the header will be more complete: in addition to API registered by the core fonline applications, it will also contain information about other classes, functions, methods or properties registered by scripts or user dlls (with bindfunc pragma, for instance). Some projects can make an extensive use of this, and IntellisenseCreator is able to generate project-specific files this way.


--- Quote from: Berko on March 31, 2013, 07:38:33 pm ---For information, when it's write "// Arguments for this function have been guessed" it's because AngelScript function return prototype without arguments name?

--- End quote ---
Yes, and after getting the API information from the AngelScript engine, IntellisenseCreator opens the executable that loaded it and attempts to find within it the strings matching the definitions of the global functions and methods. These strings, being the original ones used to register the API, usually contain argument names.
However, some of the functions did not have the arguments named in the first place (notably certain AS addons), and user-registered functions won't be present in the executable at all. Meaning that few functions won't have their arguments named.

Navigation

[0] Message Index

[*] Previous page

Go to full version