Jump to content

Chokboyz

Member
  • Posts

    428
  • Joined

  • Last visited

    Never

Posts posted by Chokboyz

  1. As said, here is the Windows Savefile map (don't think there's padding in the party struct) :

    • 3 headers flags : first byte 0, last byte 5.
    • party : first byte 6, last byte 45913.
    • setup_save : first byte 45914, last byte 62297.
    • adven[0] : first byte 62298, last byte 64195.
    • adven[1] : first byte 64196, last byte 66093.
    • adven[2] : first byte 66094, last byte 67991.
    • adven[3] : first byte 67992, last byte 69889.
    • adven[4] : first byte 69890, last byte 71787.
    • adven[5] : first byte 71788, last byte 73685.
    • out_e : first byte 73686, last byte 82901.
    • c_town : first byte 82902, last byte 98915
    • t_d : first byte 98916, last byte 104971
    • t_i : first byte 104972, last byte 112561
    • stored_items[0] : first byte 112562, last byte 120151
    • stored_items[1] : first byte 120152, last byte 127741
    • stored_items[2] : first byte 127742, last byte 135331
    • town_maps : first byte 135332, last byte 237731
    • o_maps : first byte 237732, last byte 266531
    • sfx : first byte 266532, last byte 270627
    • misc_i : first byte 270628, last byte 274723

    Originally Posted By: Celtic Minstrel
    Okay, I'm having a problem with the legacy party record struct. It's around 250 bytes too small – the name of the scenario actually ends up occuring toward the end of the 256-character array in which it should be at the beginning. (For reference, "stealt" is all that is visible of the full "stealth.exs". Possibly the 'h' as well.)

    If you're speaking about the Mac legacy savefile, i had a somewhat similar problem in that the first two letters of the scenario name were squished (because of the 2 bytes skipped between the array and the first long).

    Just read the party struct and check what field is off (the joy of hexediting is yours now wink ).

     

    Hope it helps,

    Chokboyz

  2. Originally Posted By: Celtic Minstrel
    Was this the one where a small icon is displayed, or the one where the full-size boat graphic is drawn?
    The full-size boat/horse graphic is actually displayed but a simple change to the destination rect would change it to a small icon.

    Originally Posted By: Celtic Minstrel
    What additions do you refer to?

    Severals simple things, mainly in the new dropping menu "Additional Features" : fast access (via menu items) to town/outdoor/monsters/items editing, shortcuts (keyboard and menu items) to next town/outdoor when editing town/outdoor, fast jump to a given town/outdoor, fast zoom in/out, add access to the full 30 horses/boats, ...
    Nothing groundbreaking, but it has proved very useful in several occasions ... smile

    Chokboyz
  3. Originally Posted By: Celtic Minstrel
    Oh? How so? Can you give me a map of that too?

    Arf ... If i find some time tonight, i'll try to map the Windows savefile as well ...

    Originally Posted By: Ishad Nha
    As for uploading more source code, I won't be doing it because I think I have done all that I can do,[...]

    Ok, i'll assume the last code you've uploaded here http://www.freewebs.com/ishadnha/2009BoESESource.zip is the most recent.
    The only addition i could notice from the old version i had on my drive, was the code to display boats and horses in the view window when editing towns (i've adapted it and put it in the right function so that it now works smile ).

    Originally Posted By: Ishad Nha
    who knows what he is doing here, unlike me.
    Let's say you're doing quite good for someone who doesn't know what he's doing grin

    Originally Posted By: Ishad Nha
    For what it is worth, yes. By now his own would be superior to mine anyway.

    Originally Posted By: Ishad Nha
    As it is really his code he should be the one uploading it and taking credit for it.
    Don't be too modest, your work is all but negligible ... After all, there's more than a handful of bugs that you've found and fixed in the main game (let alone the implementation of the debug mode, that really makes my life easier when debugging in-game) and your additions to the scenario editor are simples, but neats.
    Finally your work hexediting/exploring the Exile III data has helped us understand some older part of the code.
    If you think you don't deserve credits after that ... wink

    Originally Posted By: Celtic Minstrel
    So, Chokboyz has your latest version of the scenario editor source and can upload it?

    Yes, i've merged the last bit of Ishad Nha's code (boats and horses now displays on the view when editing towns) and will upload it, probably this weekend (maybe i'll also put the executable) ...

    Chokboyz
  4. Originally Posted By: Celtic Minstrel
    Ah, so that was the problem. The structs were padded differently on the Mac than on Windows. And yes, multidimensional arrays are also subject to padding at the end of the rows.
    I suspected that ... Glad we found it smile

    Originally Posted By: Celtic Minstrel
    So, if you had a problem with 2 bytes being skipped in the party struct, that probably means that I'll have to skip two bytes. Where exactly did that problem occur? And also can you tell me exactly how much space is taken up by each of the town_maps, sfx, and misc_i array, including any trailing padding?

    The 2 bytes skipping was between the end of the short m_killed[200] array and the beginning of the (unsigned) long total_m_killed.
    Here is the map of a Mac legacy save file (while in town) : the three short flags, then the party struct with the previous 2 bytes skip.
    Then there is (with no padding) setup_type and the 6 pc_record_type.
    and :
    • out_e : first byte 74176, last byte 83391. (no padding with previous adven[5] struct as far as i can tell)
    • c_town : first byte 83392, last byte 99526
    • 1 byte padding (unused byte that is defined to 0. Is rightly skipped when reading the file, at least in Windows version ...)
    • t_d : first byte 99528, last byte 105583
    • t_i : first byte 105584, last byte 113173
    • stored_items[0] : first byte 113174, last byte 120763
    • stored_items[1] : first byte 120764, last byte 128353
    • stored_items[2] : first byte 128354 last byte 135943
    • town_maps : first byte 135944, last byte 238343
    • o_maps : first byte 238344, last byte 267143
    • sfx : first byte 267144, last byte 271239
    • misc_i : first byte 271240, last byte 275335
    While doing this list, i found a bug (damn brackets !) during the loading process : the only thing that needs to be done is to correct the skipping of the 2 bytes when loading the party structure and the rest will load fine ... At least, that's what happen with the Windows build smile

    Note that the structure of a Win32 savefile is quite different ...

    Originally Posted By: Celtic Minstrel
    Heh, I did that ages ago. Then I went even further, and now there's no limit on the number of scenarios that can be listed.

    Ormus pushed the limit of scenarios up to 100 but forgot to adjust the (dynamically allocated) corresponding structure. I've only corrected that wink
    No limit can easily be achieved by dynamic allocation but that's not on the todo list right now (or rather low priority, as more than 100 scenarios is quite hard to reach )...

    Originally Posted By: Celtic Minstrel
    And also, please add the scenario editor code at the same time.

    If Ishad Nha allows me (read he isn't planning to upload a new version of his code), i would gladly do so ...

    Hope it helps,
    Chokboyz
  5. After some nightmarish coding/hex-editing/testing i've finally implemented the compatibility with legacy Mac save files.

    For some reasons, filling a structure field by field doesn't work when working on a Mac legacy save (then again, not even the party_record_type struct ended at the same byte in a Mac (46406) or a Windows (45xxx) save file, despite being the same size on both platform ...): i had to copy the struct as a whole ...

    Even when doing this, the game would persist in skipping bytes (for example, it skipped 2 bytes between the short m_killed[200] array and the four long types, messing with the rest of the loading process) ...

    The way I implemented this, is to manually adjust the file pointer when the loading function "skips" some bytes.

    Upon testing, i found that the sfx, misc_i or maps data were also affected by this.

    Finally, i've been able to open Mac files :

    • in mainscreen : i just had to fix the 2 bytes skipping when loading the party struct.
    • while outdoors : no problems besides the previous one
    • while in town : had to fix the loading of town_maps, sfx and misc_i. I also had to flip the shorts in the monsters and items structures contained in the current_town.
    Monsters, items, dialogues, secrets, maps, ... works perfectly. The only thing i've been unable to test is stored items.

     

    On another note, i've been able to finish a scenario without any Empty appearing, but that doesn't mean the problem is solved.

     

    I also found (and fixed) a bug in Ormus' build that would prevent some scenario to be played when listing more than 25 scenarios (a maximum of 100 scenarios can now be listed and played).

     

    I think I'll take some time this weekend to finish cleaning and test the code. Should nothing horrible arise, I will then post it in the repository and, why not, maybe release the first beta of (Win32) Classic Blades of Exile (the name means without major refactoring of the code). wink

     

    Chokboyz

  6. Originally Posted By: Celtic Minstrel
    Sure, but we need to agree where they go on the sheet.

    Go ahead, i'll adapt Windows sheets accordingly (as i've done when completing TER6/adding TER7) ...

    Originally Posted By: Celtic Minstrel
    And is it worth keeping them? If that is indeed a crossbow, and there's no larger version in E1, I'd say scrap it, but I'm not so sure about the other two.

    I would say scrap all of them, as they seems rather off, being pretty low-res. Nonetheless, you can always add them for sake of diversity if you want ...

    Originally Posted By: Celtic Minstrel
    And yet, that ogre king Mistborn posted is brighter than the Mac one.

    I was referring to the BoE graphics, i've not checked the Exile I/II/III ones ... The monsters and items may, in fact, have different brightness in those games.
    That is not important though, as we need to choose the brightness level that will fits the best with BoE monsters/items/... (and that will be the same for both platform since they share the same brightness for monsters/items/ ...).

    Originally Posted By: Celtic Minstrel
    Oh dear. First of all, did you update the sheets to match my most recent posting? Look in the "changes.txt" file for a complete (I think) list of which sheets I changed.

    Second, I intend to add them to the ter7 sheet as opposed to the ter5 sheet. I'm going to add the waterfalls to ter5, the altar on grey cave floor (replacing the altar on stone floor which is a duplicate), the middle rubble spaces (grass and grey cave), and cultivated mushrooms on grey cave floor to fill the empty slots in ter5 (once I get all those graphics, of course).

    Oh my, i didn't noticed ...
    Since changing ter5 (and maybe ter6) won't be compatible with the legacy version of the code, i'll change them latter (probably in another Win32 branch entitled Open Blade of Exile).
    Go on, i'll catch on all the changes latter ...

    Originally Posted By: Celtic Minstrel
    At some point, I'm going to move away from the use of a resource file for the default graphics, and use a file package instead. The file package will still contain a resource file with the cursors and (possibly) the patterns.

    Seems like a good idea wink

    Chokboyz
  7. Originally Posted By: Celtic Minstrel
    Submitted graphics must be in Mac brightness levels. They will be adjusted for the Windows brightness level.

    Of course, if the original graphic is already in Windows brightness level, post it already and i will add it to the Windows sheets (no need to adjust them two times) ... wink

    Originally Posted By: Celtic Minstrel
    Can anyone tell me what that pole weapon on the last line is [...] ?
    Looks like an old slith spear ...

    Originally Posted By: Celtic Minstrel
    Also, what's the white thing on the second line?
    Looks like an old school wand ...

    Originally Posted By: Celtic Minstrel
    What on earth is that thing between the halberd and the bow on the first line?
    I would say crossbow ... And Mistb0rn agrees wink

    You can add the gold icon if you feel like it (note that, if i remember Exile I/II correctly, it looks really low-res in-game), the food icon (ham and bread) is already in BoE.

    Originally Posted By: Celtic Minstrel
    For already-created graphics... it seems only the terrain graphics are affected, so you can probably leave monster, item, or other graphics alone.
    The only brightness affected graphics are indeed terrains and some sfx (poison boom, zap boom, ...). Monsters, items, ... use the same brightness on Mac and Win ...

    Originally Posted By: Mistb0rn
    Now, all my graphics are at windows brightness. How do I adjust them for mac?

    You can probably use your favorite graphics editor and the Mac graphic sheets as a base to determine the brightness level. You may also use some masking to ease the transition (i did with the new custom trims).
    Nonetheless, post the Windows brightness version too so I can add them to the Windows sheet.

    I've already added the blue caves entries.

    Originally Posted By: Celtic Minstrel
    The Windows version already does this;
    Note that i leave the user complete control over what graphic sheets he wants to use (so that he can change them if needed or persist in using his favorite even if it doesn't match the scenario custom graphics).

    Hope it helps,
    Chokboyz

    P.S : by the way, i assume we have the right to use the Exile I/II/III graphics ...
  8. Originally Posted By: w-dueck
    Also: I have Dev-cpp 4.9.9.2 installed, but whenever I try to compile the BoE source code (no modifications) it stops and gives me some funky errors. I've tried screwing with the settings some, but to no avail...

    What source code are you trying to compile ? If it's the official one (i.e the version 3 that is on Spidweb site), then good luck : the code is full of outdated types and somewhat adapted functions (from Mac to Win32) ... Add to that, that the code is intended for 16-bit platform ...
    If i may suggest, you should better get the last copy of Ormus' build as it is a much cleaner version of the code (note that it introduces at least one bug in the save file function, though) ...
    Or you could wait for the current code to be stable enough for a release (the only significant thing that is left is the Empty bug ... any recipe to make them
    appear ? wink ).

    Originally Posted By: w-dueck
    Any suggestions on how to go after it?

    I would recommend starting with plain C before going to C++.
    Familiarize yourself with types (char, int, arrays ...), flow controls (if... then ... else ... ; switch case ...; and so on), functions (arguments; return values ; declaration vs definition ; learn what a header file is, if you don't know already), standard functions, pointers (that is important), structures, ...
    Then you will be able to begin learning C++ with much more chances of success (the main difference between C and C++ is that C++ is object-oriented; search what classes are to begin) ...

    There's a lot of sites that gives useful advices for beginner in C. If you ever have access to your college's library, you will undoubtly find a good book on C/C++ in there.

    Then again, i'm not the specialist here (Celtic Minstrel for instance seems more knowledgable about C++ and may help you better with this).

    Ah, and if you comes from PHP, you have to declare a variable in C/C++ wink

    Hope it helps,
    Chokboyz
  9. There should, indeed, be Medium/Large Bloodstain and Large Slime option if the idea is to give the designer the choice of the "bloodstain" to place; the only thing that would change is the third argument when calling make_sfx() (in fact, in the original code large monsters give larger bloodstains, but the make_sfx function is basically ready for a designer-defined bloodstains).

    Note that the make_sfx() creates not only blood/slime pools but also bones (skeletons), rocks (golems) and even ashes (fireballs) ...

     

    Hope it helps,

    Chokboyz

  10. Originally Posted By: Celtic Minstrel
    Does the code ever specifically place medium or large bloodstains, or is that only when placing a bloodstain on a square that already has one? I think that's how it's supposed to work.

    The code automatically augment the quantity of blood/slime on a given square, but you can place a larger bloodstain directly (see for example large monster vs small monsters). The function that does that is make_sfx().

    Chokboyz
  11. The start_outdoor_combat() function is also a little off from the Scenario Editor description :

    the lines

    short low[10] = {15,7,3,3,1,1,1,7,2,1};

    short high[10] = {30,10,5,5,3,2,1,10,4,1};

    should read

    short low[10] = {15,7,4,3,2,1,1,7,2,1};

    short high[10] = {30,10,6,5,3,2,1,10,4,1};

    to be accurate ...

     

    Chokboyz

  12. Originally Posted By: The Almighty Doer of Stuff
    I'm a bit confused about something. Do you intend to go through all the old scenarios and change them? That's the idea I'm getting, and I don't like the idea of changing another person's scenarios without their explicit consent.

    Celtic Minstrel is rewriting the game inner structures (monsters, terrains, ...) so changes are deepers (and don't requires) than changing legacy scenarios.

    Originally Posted By: The Almighty Doer of Stuff
    I saw talk in another thread of changing the way old scenarios look through the changes in the way roads, walkways, and other frills work. I think those should have a compatibility switch as well,

    I've already implemented a (manual though) compatibility switch in the current version of the Win32 code for surface frills (roads and walkways have been left alone). However, as Celtic Minstrel said, the overall look of the scenario won't change much given how the new functions will work ...

    Originally Posted By: The Almighty Doer of Stuff
    in the form of the program functions exactly the way it always did for old-format scenarios, with the sole exception of fixing minor bugs. That's what seems to have been happening at first, but that attitude seems to be shifting lately. Maybe I'm misunderstanding things.

    Things didn't really changed : Celtic Minstrel have always said he was planning a major revision of the code with a release "when it will be done". Bugfix are also not his priority and he will apply them when (or during the writing of) the new code will work well enough. Such a revision, is, of course, something that needs to be done ...

    On the other hand, I'm mainly focused on bug fixing and didn't incorporate much of his changes yet (some switches in the save/load functions, ...). So my version of the code behaves almost exactly like the original BoE, with bugs being fixed and compatibility switches being present when a feature may break legacy compatibility (waterfalls in towns, funky old day reached function, surface trills, resurrection of absent PC via Resurrect Node, ...). So, our work will, in the end, benefit to both of us ...

    Originally Posted By: Celtic Minstrel
    Also, are we close to having a stable release with bugs fixed but without new-format changes yet? Are we still keeping the new-format code separate enough that this is possible?

    (Note that everything that follow apply to the Win32 version of OBoE.)
    Absolutely, the only bugs i would really like to fix are those in http://www.ironycentral.com/forum/ubbthreads.php?ubb=showflat&Number=167242#Post167242 .
    Actually, only the Empty bug remains, as others are supposely fixed, but, having no example of bad behavior, i can't test them ...
    On the other hand, if you see an unfixed bug that is to be fixed before release, don't hesitate...

    I don't know on what stage of development is the Scenario Editor given that Ishad Nha is the one working on it, but if he allows us/wants to i can grab a copy of his last code and upload it to the repository (incorporating the custom graphics/animations code i've tested on my side) as it seems pretty functional to me ...

    The Character Editor is already up and running (bug fixed, gets custom items from scenario, ...) and can be found in the openexile repository.

    Originally Posted By: Celtic Minstrel from the terrain type thread
    That leaves the wall-rounding, which is something that I suspect may not have worked in the original BoE

    I'm pretty sure the original code is indeed non-functionnal (comparaison with Exile III).

    Originally Posted By: *i
    Fix petrification touch again. It's broken and needs to work.

    It's fixed.

    Originally Posted By: *i
    Also, one thing to consider is allowing us to modify the death noise and stain.

    That would be fairly easy to implement, as the sound played is hardcoded in the first lines of the kill_monst() function (and a pointer is passed to the monster structure, so everything is basically done).
    The stain placement is done a few lines later (search make_sfx).

    Originally Posted By: *i
    Also, the code I worked on calls specials in monster abilities. I think the best place for that one is with the summoning and field abilities.

    Yup, plently of unused space here smile

    Originally Posted By: *i
    If you are drastically changing resistances, may as well just make it be a number between 0 and 100 percent. It's a tricky change, but should not be impossible.

    Actually the immunities field in the monster_record_type structure is an unsigned char and is used by comparaison with 2^n work to see if the monster is immuned/resistant to something (hence the possibility to be resistant (e.g xxxxxxx1) and immune (e.g xxxxxx1x)). That's the only significant thing to change; giving a variable resistance would be easily done in damage_monst() then (actually immune negates the damages and resistant divides them by 2).
    Oh, and i may add that the res1, res2 and res3 fields are unused in the monster_record_type structure smile

    Hope it helps,
    Chokboyz
  13. A quick bug :

     

    the create_wand_monst() function is bugged so that only the first monster type of the third and fourth row, and the second monster type of the fourth row may appear by pair (the editor tells us it should be the monster type of the last line for each row).

    I choose to make a second monster of the last line type appears with a probability of 1/2 (inspired by the faulty code).

     

    I'm still on the Empty bug ...

     

    Chokboyz

  14. As far as i can tell, monst is a sub structure (creature_list_type) of the current_town_type structure.

    Apart from the monster array, it contains two short type (friendly and which_town).

    I think it can safely be rewritten/adapted if want to ...

     

    Chokboyz

  15. Creatures in one time place town encounters don’t check their life flag has been fixed.

    If this break any compatibility, this is the last chance to say it ... smile

     

    Examples (recipes ?) for the Empty bug (which is not fixed, as i've encountered one in the room filled with sleepy gas in Baba Yaga's hut) and the Event Timers bug would be nice wink

     

    Chokboyz

     

    Edit : Forgot to post the code ...

    In the activateMonsters() function (name may vary in Mac version), i've replaced the line

    if (monst.dudes.monst_start.spec_enc_code == code)

    by

    if (monst.dudes.monst_start.spec_enc_code == code && party.stuff_done[monst.dudes.monst_start.spec1][monst.dudes.monst_start.spec2] == 0)

  16. Originally Posted By: Celtic Minstrel
    I don't know about the Windows API, but with Quickdraw I can simply specify the mask when copying using CopyBits (or perhaps by used a separate, related command – I don't remember). So the masking would not be hard for me. What may be difficult is determining when to draw the frills, and also what graphic to mask for them.

    I found that you can specify the mask in Win32 API as well, so that part is ok. I suppose we need to draw the trims when the terrain is liquid or a pit (using the adjacent terrain textures, and if the adjacent square is a wall the default terrain ...), but that's only a (rather simple) idea ...

    Originally Posted By: Celtic Minstrel
    No comments on the combat arena thing from the post before that?

    What do you means by combat arena ? If it's the terrain that is drawn when entering outdoor combat, cutting off 3 squares from the town seems better (after all, it's those unreachable three spaces that makes you leave town, am I mistaken ?).
    And yes, terrains with number different then pits will need to be used as darkness to avoid glitches (whatever fixed number will be fine) ...

    Chokboyz
  17. Funny that you speaks about trims (or frills), since i've just finished adapting the code to use your FRILLS.bmp and display grass trims ... I just need to make a Windows version of the trims and it will be ok grin

    What i did was simply to read the bmp from the FRILLS files (instead of the MIXED file) and adapt the draw_trim() function to take into account what terrains are adjacent (it's far from perfect though, only the global terrain, i.e cave or grass, is checked ...).

     

    Originally Posted By: Celtic Minstrel
    And the code seems to imply the also appear on walls? I need to confirm this...

    Yup, it is supposed to smoothen corners of the walls (but the checking range seems odd and i don't see that much of a difference between trims and no trims ... So i don't know if it actually works for walls).

     

    The mask idea is pretty good, but doesn't looks easy to implement ... (and yes, we should make each frill full 28 by 36 pixels, it will make it easier)

     

    Originally Posted By: Celtic Minstrel
    It would have to correct for if the adjacent terrain is a wall, though... that might be difficult...

    If i'm not mistaken, there is a check somewhere in the (place_trim() maybe ...) that check if the square is a wall (isWall() ?), so that could be already implemented ...

     

    Hope it helps,

    Chokboyz

  18. Originally Posted By: Celtic Minstrel
    I intend to eventually replace the "Ritual of Sanctification" special node with a "Target Space" special mode that can duplicate the behaviour of the slime pools

    That is, in fact, on the ToDo List wink

    Originally Posted By: Celtic Minstrel
    Deleted it? Or replaced it with the correct SDF?

    Deleted it, as it was redundant, hence useless (the preference option SDF check is done before ...).

    Originally Posted By: Celtic Minstrel
    I'd be surprised if that wasn't possible, though...

    The two required things seem, indeed, to be doable smile

    By the way, i've duplicated your graphics sheets in Windows (brightest) format (except for the last two pictures i couldn't find and the truncated large boulder which is a pit in Windows version. Note that in TER7 your second row is off by a pixel because of a brown mountain line right before the second cave mountain entry).

    Chokboyz
  19. Originally Posted By: Celtic Minstrel
    Huh, that's odd. Maybe they were downloaded as text instead of binary. That's the only reason I can think of that they may have been corrupted.

    Quite likely ... Downloading them again, makes the name of the characters appears but the garbage was always there crazy

    Anyway, I found a nice relic from Exile III in the place_spell_pattern() function :
    Click to reveal..
    void place_spell_pattern(effect_pat_type pat,location center,short type,Boolean,short who_hit)
    //type; // 0 - take codes in pattern, OW make all nonzero this type
    // Types 0 - Null 1 - web 2 - fire barrier 3 - force barrier 4 - force wall 5 - fire wall
    // 6 - anti-magic field 7 - stink cloud 8 - ice wall 9 - blade wall 10 - quickfire
    // 11 - dispel 12 - sleep field
    // 50 + i - 80 : id6 fire damage 90 + i - 120 : id6 cold damage 130 + i - 160 : id6 magic dam.
    // if prep for anim is TRUE, suppress look checks and go fast
    {
    short i,j,r1,k,store = 0;
    unsigned char effect;
    location spot_hit;
    location s_loc;
    RECT active;
    creature_data_type *which_m;
    Boolean monster_hit = FALSE;

    location pool_locs[5] =
    { location(13,2), location(11,19), location(34,22), location(46,15), location(46,7) };//location of the slimes pool

    if (type > 0)
    modify_pattern(&pat,type);

    // first clip out special results.
    if (((is_town()) || ((is_combat()) && (which_combat_type == 1))) && (c_town.town_num == 46) && (center.x == 24) && (center.y == 41)//first slime pool outside of Slime Pit
    && (PSD[46][9] == 0) && (type >= 50) && (type < 90)) {
    end_missile_anim();
    run_a_missile(pc_pos[current_pc],center,2,1,11,0,0,200);
    mondo_boom(center,0);
    FCD(3464,0);
    PSD[46][9] = 1;
    for (i = 0; i < 4; i++)
    elim_monst(138 + i,46,9);//erase all slimes
    alter_space(24,41,0);
    return;
    }
    for (i = 0; i < 5; i++)
    store += PSD[20];//how many slime pools destroyed in Slime Pit ?
    if (((is_town()) || ((is_combat()) && (which_combat_type == 1))) && (c_town.town_num == 23))//killing the five slime pools in Slime Pit
    for (i = 0; i < 5; i++)
    if ((center.x == pool_locs.x) && (center.y == pool_locs.y)
    && (PSD[20] == 0) && (type >= 50) && (type < 90)) {
    end_missile_anim();
    run_a_missile(pc_pos[current_pc],center,2,1,11,0,0,200);
    mondo_boom(center,0);
    if (store == 4) {
    FCD(3239,0);
    PSD[23][3] = 20;
    erase_specials();
    }
    else FCD(3238,0);
    PSD[20] = 1;
    alter_space(pool_locs.x,pool_locs.y,0);
    return;
    }
    [...]

    I've deleted the code as it can lead to potential glitches (dialog 3464 and 3239 doesn't exist to begin with; i've locked up a game testing that wink ).
    By the way, if anyone can confirm that town number 23 is Slime Pit (the level with the slime pool) and town number 46 is the town where you find the lone slime pool, don't hesitate ... I've found that it was indeed those town in Ishad Nha's Scenario Data sheet (Thanks smile )

    Chokboyz

    Edit 1 : the party.stuff_done[181][6] is checked in the Windows code and if different of 0, no target lines are drawn (doubling the option doing so, that works).
    I've deleted it because it was redundant (and checking an unprotected SDF).

    That's the last (obvious) PSD relic I could find ...
  20. Originally Posted By: Thuryl
    You know how you run off the edge of the map into blackness when you want to flee from an outdoor combat? That's the edge he's talking about. We don't want frills on that edge.

    Ok, that makes sense smile
    Except that the check was indeed wrong (the checked terrain was the "right part of the two-squares long rock on white cave floor" terrain instead of the pit), so the frills were always drawn before ... But that's fixed now wink

    Thanks,
    Chokboyz
  21. Originally Posted By: Celtic Minstrel
    What if you step on the terrain while walking outdoors? That's the change I made. I didn't make it call an outdoor node if you're in outdoor combat, though that's a good idea. And I also made another change there which is related to the whole rearranging of the terrain special properties.

    I've changed the case so that :
    • if in town or town_combat, the local special called is taken in the town specials list
    • if outdoor or outdoor_combat, the local special called is taken in the outdoor specials list
    The only variables I check are mode (0 = outdoor,1 = in town or 2 = in combat) and which_combat_type (0 = outdoor 1 = in town).

    Originally Posted By: Celtic Minstrel
    What only happens outside? As far as I can tell, the check is intended to prevent frills from appearing at the edge of the outdoor combat terrain. I didn't actually check to see if the frills appeared there before the change, though.

    Making pits appear in outdoor combat is quite hard, but changing the value of which_combat_type, i've been able to test it in town (and the frills are indeed not drawn in combat).
    But is that useful ? Why would frills not be drawn while in combat ?
    Nevertheless, that's some pretty trivials (graphicals) questions, and can be left alone without a problem ...

    Chokboyz
  22. Originally Posted By: Celtic Minstrel
    One thing I noticed while doing this is that the Call Local Special terrain ability appears to call a town special even if outdoors! (Look in check_special_terrain(), switch(ter_special), case 12. Then look at run_special() for the meaning of the 2 in the second parameter.)

    Nice one, that is now corrected and tested (I used which_combat_type to check whether a combat was happening outdoor or in town)

    Originally Posted By: Celtic Minstrel
    Another thing is that in place_trim it checks for terrain type 86, where it should be 90 (to judge by the comment).

    Corrected (it only happens outside though, so is the check really useful ? confused)

    Thanks,
    Chokboyz
  23. Originally Posted By: Celtic Minstrel
    EDIT: I've uploaded three Mac save files (created by the other, older version of BoE on my computer) for testing compatibility if and when you decide to teach the Windows version to load Mac saves. They are in the character editor subfolder.

    Erf, your save files appeared corrupted on my computer (party data is ok, setup data is a little weird and pcs data is corrupted with lots of "kkkk" and the string "Blades of Exile doesn't" garbage in the end of the file) and i bet mine are too ... Maybe, zipping them would have been a good idea smile

    I'll reupload zipped files, maybe that will solve the loading problem,
    Chokboyz
×
×
  • Create New...