Code Monkey home page Code Monkey logo

af-script-packet's People

Contributors

auronen avatar damianut avatar fawkes-dev avatar nr3jokim avatar szapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

damianut wolf-64

af-script-packet's Issues

G12-NoAmmoPrint does not working correctly with Crossbows

If you got a bow readied your hero got an arrow in righthand but when you draw crossbow you got only crossbow in your right and lefthand so it cant check if you got a bolt ready but no bolts in EQ and automatically spam that you got no ammo.

Undefined class and function [Unable to run the packet]

[] spatialState.d
In Npc_GetWaterDepthKnee function zTConfig class is used, but not defined.

[] Standalone-Packages\G12-Trialogue\trialogue.d
In Trialogue_Invite function Npc_StartAIState function is used, but not defined.

CtoB: not page-boundary safe

CtoB function is not page-boundary safe.

As mud-freak wrote here:

In the second line within the function, reading an integer (four bytes) instead of one byte might read across page boundaries in memory. How ever small the chances are of that ever happening - it did!. See more details in the linked post. This issue was then addressed in MEM_ReadByte (Ikarus). MEM_ReadByte is, of course, the better choice here than reading an integer when only interested in the first byte. For further discussion, it might be best to move to the Ikarus-thread in the editing section of the forum, to not go too far off-topic here.

NPC_RemoveInventory (performance)

Somebody clever wrote: Yes, it would probably be best to abstract the inside of NPC_RemoveInventoryCategory into a internal function and expose cleaner API.

To avoid calling Hlp_IsValidNpc 8 times.

Better Bars user values not working

Setting user values in the *_API.d-files doesn't seem to work, the defaults are always taken instead.

I've copied betterBars_API.d, uncommented all code and changed several fields, but changes are not reflected in-game:

const int HEALTHBAR_DISPLAYMETHOD = BarDisplay_AlwaysOn;
const int HEALTHBAR_DISPLAYVALUES = 0;
const int MANABAR_DISPLAYVALUES = 0;
const int SWIMBAR_DISPLAYVALUES = 0;
const int FOCUSBAR_DISPLAYVALUES = 0;

Display behavior seems to remain Standard, as only the health bar is displayed. Also the text values are still displayed over the bars.

I've tested this on a fresh install of G1 with LeGo_Init(LeGo_All & ~LeGo_Bloodsplats); on latest master (all LeGo, Ikarus and AFSP), Gothic.src looks as follows:

Ikarus\Ikarus_G1.src
LeGo\Header_G1.src

[Default Gothic AI_* includes]

AFSP\_headers_G1_All.src
AFSP\API\*.D

Maybe there's something wrong on my part?

Ini-entries in dedicated sections

I was wondering if it would make sense to refactor all instances of user settings made to Gothic.ini to move to their own section in Gothic.ini as suggest by Ikarus author in the readme:

//BEACHTE:-Falls du neue Optionen einführst gebietet der gute Stil, dass du dies in einer eigenen Sektion tust und die Optionen verständlich benennst! Als Norm schlage ich vor, dass eine Mod mit Namen "myMod" nur in der Sektion "myMod" oder "MOD_mymod" neue Eigenschaften einführt (und nicht etwa in der Sektion "GAME" oder "PERFORMANCE").
(//NOTE:-If you're introducing new options, it's good practice to do so in your own properly named sections! I would suggest the following convention: a mod with the name "myMod" should only write new settings into it's own section "myMod" or "MOD_mymod" and not in sections like "GAME" or "PERFORMANCE".)

So for example settings for Better Bars like this:
MEM_SetGothOpt ("GAME", "manaBarDisplayMethod", IntToString (_manaBar_DisplayMethod));
Could be written like this instead:
MEM_SetGothOpt ("AFSP", "manaBarDisplayMethod", IntToString (_manaBar_DisplayMethod));

I think it would be a good convention to better distinguish AFSP mod settings in Gothic.ini.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.