Beiträge von SteveNew

    Those were different times 🤣 In 800 X 600 real estate, 148 X 130 is big.


    When I get a bit of spare time again, maybe I can make it more flexible. (When I have increased the pox number of frames for you 😉)

    Not at computer right now. So answer by mobile. I would eventually recommend a changed UI, but I remember it as there is an offset, so you should just be able to move you character up a bit. Horizontal-wise it seems ok. If you should do in a better way, I would either scale it propertinaly or have a center ref point to plot from.

    I would say you are correct - if I understand you correctly. PaintCharacterOnBorder - does travers through the list of "players" and draws them. But it is also updated during Inventory and Merchant - if I remember correct.


    I think it is still the same - across versions of the source - I might be wrong - otherwise add some detail on what you want to do.

    Rucksacksepp is correct, but there is more to it - I did grab the code back in around 2003, when Mr. Louis finally put something on sf.net - looked at it briefly - and put it on a shelf. Then when Diablo was re-released on GOG in 2019, I remembered the SoA code - and googled - saw it had moved to GitHub - in the same defect unfinished stat, made working by MadEarl and extended by all your work here on the forum.


    But there was no way I would sit and work with a Delphi 4 IDE or code in that form. So I have put some work into it - and also broken stuff during the process :D


    But you all know the story of SoA better than I do, this is all that I can tell right now - but I hope you will put it on your wishlist's, and see where this gets us and lore of SoA.

    In all the versions (patched and various languages) there is in the middle of Infirmary a disabled trigger, that gives a transit cursor - which I find a bit annoying. And yes the loadmap does not do anything because the title check - but I found the cursor annoying so I fixed it. And the trigger probably needs to be on the map - because of chapter 6.


    Nice finds - I did update my ScreenMetrics const record to reflect 1. and 3. You could have a look at how I am using a read-only Vision property - to just adjust the Vision - means that I do not need to copy the same code all over and miss a spot or two. I would have expected the values to be a bit different - since me guess it is all down to game area ratios - but that is Math - and not always what feels natural when playing the game.


    Regarding 2. and the original FindTarget code - there is so much wrong with that old code - Just the statement: istealth := ( 1 div 100 ) is absurd, why not just set istealth := 0 ?


    I will put that on my to-do - I was trying to steer clear of the AI code :D


    But I have found a very old bug for you: The cursor changes to a transit cursor in different places were it shouldn't - there is missing a check if the trigger is enabled.


    TfrmMain.AniView1AfterDisplay - should be corrected to:

    j := Pos( 'loadmap(', LowerCase( TTrigger( FigureInstances.Objects[ i ] ).OnTrigger ) );

    if (j > 0) and TTrigger( FigureInstances.Objects[ i ] ).TriggerEnabled then


    All this casting :(

    I could see if I could build one for you, it would be untested on Arch.


    Had not expected it in its current state would be interesting enough for anyone - it is currently just a simple POX viewer/exporter. Not much of a "Studio" yet.


    I might get around to it for the next many days - but I will let you know - otherwise someone else is welcome to compile and test.

    Aldarith you can use my POXStudio for export - find a release here: https://github.com/SteveNew/POXStudio/releases/download/latest/POXStudio.exe


    Point to your ArtLib directory - wait a bit while it loads all pox/ag resources. Search/filter for the resource and export to a directory.


    You can remove layers on the layered characters as well.


    It has not been updated for at while - but I will eventually get back to it - and implement some of the stuff shown elsewhere on this forum.


    OH - I did not put a binary release up - how silly - maybe because it is trivial to compile (if you have the compiler at hand) :O


    Win64 binary up (from last summer) - let me know if you need it for a different OS.

    I did just try it out and just edited my item.db for the TracyKnolle - but it is very strange - the misc3 being available. The Inventory.pas in Delphi4.zip isn't that the wrong one - it has the extra "sh*t" element - so 20 elements?

    You mean procedure.WeaponPlacement?

    It was original 15. That was Misc 3. After adding tabar I didn't see that there was something like that. So Misc2 then was 15 and switched with misc3 (16). Changed it back. But honestly doesn't affect anything in game.

    Yes that is collision detection as far as I can see.


    Thanks I will grab the files - it seems I might need to re-implement your slot additions in my code for test - since there are too many changes to make it compile by just coping your code over.


    I will not have time before the weekend to do anything - we will get it fixed - but it is a bit strange and seems to be easy to overlook.


    And when we have fixed it we will have a laugh and a virtual beer.

    I had hoped for a lucky guess. I downloaded the code and will take a look - and I think your are right I did not get around to break the inventory code yet - then I would probably have put a different structure in and added a cNoOfSlots constant :D


    I will be mostly offline for the next 3 days - just if I do not reply in due time.


    Still looking - but in the weapon collision detection in TInventory.WeaponPlacement - you switched MIsc2 with Misc3.


    Maybe I just need to run the code and visualize what you mean.

    I will take a look at your code - but apart from remembering to increase the size of the arrays/lists used (since these are not dynamic) - there is only this that is a bit funny done:


    Code
    Equipment : array[ slLeg1..slMisc3 ] of string;


    So referring to the enums as high and low - if you then rearrange or add to the TSlot enum - slLeg1 might not be the lowest and slMisc3 might not be the highest anymore - so the Equipment list ends up broken.


    If that is not the cause let me know - then I will download the Delphi4 (shudder) code and take a look :D