Jump to content

Chokboyz

Member
  • Posts

    428
  • Joined

  • Last visited

    Never

Everything posted by Chokboyz

  1. Originally Posted By: Thuryl I, uh, suppose I should take this as a compliment? Maybe? I think? Yes, you should. Straight to the point comments/clarifications has often provided useful for us (at least for me ...). For information, I haven't been able to reproduce the "two black squares when displaying custom monster 2001" behavior (using the downloaded CBoE archive, as i've got no tools here). Hopefully this was an exceptional glitch (the Scenario Editor dialogs functions should be rewritten nonetheless, as there're quite kludgy in present state (try switching windows when displaying custom graphics ) ...). Chokboyz
  2. I noticed that too when implementing PPC Mac saves compatibility : the two structures are not read the same way (even the final number of byte read differs). I have no clue of what is causing that, but found that, in Windows reading PPC Mac, when reading the int32_t total_m_killed,total_dam_done,total_xp_gained,total_dam_taken two bytes were skipped, messing with the rest of the loading sequence ... I manually correct those bytes (and maybe others things) in the load_file() function. If the problem is Intel Mac no being able to read Windows format file, i'm afraid i can't help (note that, Windows loading procedure don't read structures as whole but field by field ... that shouldn't make a difference, but i had to mention it) Hope it helps, Chokboyz
  3. Originally Posted By: Mistb0rn The teranim and teranim (d) are not the same. Is this intentional? Purely, Mac version of the graphics have several older graphics (i used the bmp Celtic Minstrel uploaded which were already slightly modified). In the end, the two versions would be the same, though. Originally Posted By: Mistb0rn Although the blue etc cave terrains are included in the ter sheets, the editor does not acknowledge them when trying to change a terrain graphic to one in the selection window (I have not tried typing the number that would correspond to it, though). Use the number if you want to use them, it should work (they were added to match Mac graphic sheets) ... Originally Posted By: Mistb0rn A custom two-tile creature (with the number 2001) shows up as two black squares in the editor, I have not checked yet to see if it shows up in the actual game. Is the behavior of custom graphics sheets different? 2001 is a 2x1 creature with the first graphic to display being the first row, second column (legacy behavior). It seems to be working in my copy of the game ... Originally Posted By: Mistb0rn Especially the little talk bar to type in like in E1; I've always wished for something like that. Thank ADoS, the idea came from him Chokboyz
  4. Originally Posted By: Celtic Minstrel With regards to your hostile_fry_party, I'm not liking it very much; I think I will change it to call a special provided by the user... meaning it's not a bitfield variable. Coming to the same conclusion, i've already replaced it with a mechanism similar to yours : one can specify a town node to call if town becomes hostile in the Town Advanced Details. (in version 1.0) Originally Posted By: Celctic Minstrel Okay, so... if Chokboyz may not be around much anymore, is there anyone else who might be able to maintain the Windows code a little? I could probably work on the Windows code, but it would be useful to have someone to help out by building it and testing it. I'll add my todo list (if i found the whole list, that is ) and known scenario bug text file to the Win32 folder of the repository. The code may not be very commented, but Celtic Minstrel's experience helping, i think someone can gain a good knowlegde of it pretty fast. Oh, and don't shout too loud if some of my programming is not top quality Originally Posted By: Celtic Minstrel ...It would be hilarious if Ormus chose this moment to show up again... It would indeed Chokboyz
  5. After several months of development the first (non-beta) version of Classic BoE is released, get it here : http://code.google.com/p/openexile/. Here is the full changelog : Click to reveal.. Classic Blades of Exile version 1.0 : - Added a new item ability : Call a scenario special when using the item. The special called is specified by the ability strength. The type of scenario to call depends of the magic_use_type (the boxes from help pc (0) to harm all (4)) : 0 is only local, 1 is town local and out global, 2 is town global and out local and 3 is only global. If the number of charge is greater than 0, then using the item takes one charge. If not, the item can be used at will. - Changed the "Set SDF" debug command to display the value of the specified SDF if value to set it to is -1 (BoA style). - Added a missing compatibility switch from the introduced "Specials interrupt wait/rest" feature. - Misc. battlefield adjustment (forest battlefield doesn't show a road anymore, road battlefields appear correctly, cave bridge now has cave trims, ...) - Fixed a bug where an absent boat or horse could prevent a pc from entering a square while in outdoor combat. - Trims now use the next terrain type (cave, grass, mountain) when drawn. - Fixed a potential negative pointer to an array. - Readded Spidweb logo intro sound. - Event Timers will now triggers even when resting (compatibility switch available) - Stairway can now be called in any mode except outdoor : town, looking, talking, even fighting (put in fight mode at destination). - The three basics scenarios are no longer listed in the custom scenario list. - Talking mode : fixed a typo which would prevent the keyword "name" from giving the name dialogue. Added the keywords "buy" (for purchase) and "bye" to end conversation. - Time for event timers is now taken into account correctly while resting Outdoor/ in Inn / via "Have a Rest Node". The "Change Time" node is unchanged. - Added a preference to show a talk entry field next to "Ask About" (like in older Exiles) for direct typing. - Fixed clipping error in the main menu screen for high resolutions. - Added the Ctrl+N shortcut who was advertised but not working. - Gold is now updated after training. - If not using special messages, a "Move Party" node won't mess with talking responses anymore. - Affect Gold/Food nodes could give more gold/food than the maximum allowed. Fixed. - Deleted a check that was destroying items with "type Flag" 15 first. - Calling add_string_to_buf() with an empty string now does nothing. Classic Scenario Editor version 1.0 : - Added a switch to the Scenario Details to bypass the automatic difficulty adjust - Added the ability to play sound asynchronously (use -sound_number instead of sound_number). - If a custom monster pic was shown in the monster dialog and a non-custom monster was loaded via the arrows, the pic was always drawn from the custom sheet. Fixed. - Cancelling while choosing an item ability won't reset the item ability to "No ability" anymore. - Added a "Change Town Lightning" node. (StarEye a.k.a *i) - Loading a town in the main menu won't get into editing mode automatically anymore. - Added an option in the Town Advanced details to prevent the mapping (like in older Exiles). - Added a "Display picture" node, that living up to its name, displays a picture. Bitmaps (BMP) are the only supported format but image can be of any size (be warned that if the image is larger/wider than the screen, it will be streched to fit, meaning a (potentially substancial) loss of quality). The name of the file is search in the scenario special strings (160 to 259) as specified in the node ex1a field. The format must be "[eventual path]filename.bmp". The base search folder is "[folder_the_scenario_is_in]/scenario_name.exr/". - Corrected the "Type Flag" description text (is between 0 and 255). - Modified the "Has Enough Mage Lore?" node into a general statistic check node. (StarEye a.k.a *i) Here is a description of fields : ex1a: how much of skill ex1b: special to call if enough ex2a: skill index (-1 defaults to mage lore to preserve compatibility) 0 - 18 corresponding skill, 19 - Current Health, 20 - Max Health, 21 - Current Spell Points, 22 - Max Spell Points, 23 - Experience, 24 - Skill points, 25 - Level. ex2b: 0, others - cumulative, 1 - highest, 2 - average, 3 - lowest, 10 + x - that PC. (-1 defaults to mage lore to preserve compatibility) - Added a "Has enough species ?" node, which checks if the party has (at least) a specified number of character with a given race. (StarEye a.k.a *i) - Modified the "Give ... spells" nodes to either take (spec.1b = 0) or give (spec.1b = 1) spells and have access to low level spells (spec.1a = 100 + spell_number, with 0 <= spell_number <= 29 ) (StarEye a.k.a *i) - Added an option in Town Advanced Details to prevent Magic Mapping from being cast (already included in the Map Unavailable option). - Added an option in Town Advanced Details that specifies a town special to call if the town becomes hostile (for compatibility reasons the special 0 can't be called in legacy scenarios). - Added a "Change Creature Attitude" node in Town specs : spec.ex1a is the number of the monster in the current town and ex.1b is the attitude to set it to (0 - Friendly, Docile, 1 - Hostile, Type A, 2 - Friendly, Will fight, 3 - Hostile, Type . - Modified the "Make town hostile" node to "Set Town Attitude". Spec.ex1a is 0 for hostile, 1 for friendly. The dead part (2) is currently non functionnal. Classic Character Editor version 1.1 : - The party is in info bar has been extended an placed under the main window (now that subfolders can used, the scen_name can be pretty long) - In Edit skill, you could decrease health and spell points to negative values. Fixed. Classic Blades of Exile Beta 2 : Bug Fixes : - Giant Strength ability and Skill ability now use the ability strength rather than the item level to calculate effect. - Won't take damage when moving boats over damaging terrains (fire, cold, magic, poison, disease) anymore. - Won't take damage when horses refuses to enter a damaging terrain (fire, cold, magic) anymore. - Horses won't enter damaging terrains (fire, cold, magic) or "horse blocking" terrains when outdoors anymore. - Boom effects won't be displayed at random places when being damaged outdoors anymore. - Damage won't be displayed in boom animation when attacking invulnerable monsters, when they are, in fact, unharmed ... - The first pc won't become active with 0 AP anymore when a pc get killed by backshots. - Fixed the town loading behavior so that Empties won't appear in Place Town Encounters anymore. - Cleaned the ressource file (smaller executable). - Changed the "force place monster" function to preferably flush a summoned monster if flushing is needed. Also prevent a potential infinite loop if trying to force place a monster and all the 60 monsters of a town have a life flag. - Tweaked exploding arrows firing animation to be smoother (arrow fired, then explosion). - The spell usable Stinking Cloud ability was protecting against acid instead of the Protection from Acid ability. Fixed. - The Protection from Disease item ability should now works to the full extent. - Removed a check on the item graphic when deciding whether to play the"swallow" sound; now checks only for item variety. (Celtic Minstrel) - Corrected the code so that the party cannot be split again if already split. - Various messages code cleaning/fixing (Celtic Minstrel) - Removed the 50 node limit. To prevent infinite loop an interrupt sequence has been implemented (Ctrl-C). - Cave Bridges battlefield should now appears instead of basic cave floor. - Wall trims are now working. - Slowdowns due to trims drawing (animated water, ...) should be fixed now. - Scenarios in subfolders (under Scenarios/) are now found. - No more limit for the number of listed scenarios. - Clicking '?' icon on shopping and talk mode now gives help, even if in 'No instant help' mode. Changes : - All terrains and monsters sheets now loaded in memory to bypass storage sheet. That should speed up the game and fix some graphical oddities. Mac and Windows graphics can now be swapped on the fly (i.e without restarting the game). That also removes any graphical limitation in the game. - In the same way, PC graphics will now be drawn directly to the game gworld. - You can't end the scenario via a special node if the party is dead anymore (prevent saving an "all dead" party) - Added a safety check to monsters with Absorb Spells ability to prevent negative health. - Jobs dialog reimplemented (not useable for now). - 'Burma Shave' Easter Egg readded. - Debug Mode : ghost mode implemented. Classic Scenario Editor Beta 2 : - Dumping functions won't change current town/outdoor section anymore. - Finished porting the file IO functions to 32 bits. - Added a rudimentary custom intro picture behavior : if the intro picture is set to 100, the first icon on the custom sheet will be displayed in the scenario selection menu. Scenario intro pics must be drawn on the same scale as talk icons. - Whenever the “Place Random Items” function is used, the editor will inform the user that it could not place all items because the town item # limit has been reached, regardless of how many items are actually in the town. That has been fixed (the message now displays only if the max number of items is indeed reached). - Cleaned the ressources (smaller executable). - Added a Monster data dumping function (dumps all info about monsters : wandering/special enc/town monsters details ...) - Added a Specials data dumping function (dumps all info about specials : number, types, variables, ...) - Town Room/Outdoors Info rectangles are now initialized at ((-1,-1),(-1,-1)) freeing the 0 coordinate and fixing the "Rectangle X" description at (0,0) in the game. - Cleanse Rectangle SDF1 info rewritten to match actual behavior (0 leave force/fire/webs/crate/barrel, 1 cleans all). - Corrected the Do SFX Burst info text (1 - telep., 2 - elec.) - When placing an item with a custom graphic in a town, the editor will display the graphic in the upper-left corner of the space it is placed on. Fixed - If you edit a monster’s abilities and click Cancel, the ability of that monster will be removed. Fixed. - If you edit a item's ability, all previously unsaved modifications are erased. Fixed. - Disappearences of right scroll bar fixed. Classic Blades of Exile Beta 1 : Bug Fixes : - Custom Scenario Loading now works. - Conceal Ability Flag now works. - Game now uses the font that comes with it. - Strengh potions can now be made (Ishad Nha) - Add/Lose Sanctuary and Add/Lose Martyr's Shield abilities fixed. (Ishad Nha) - Acidic weapons works as living saving charm fixed. (Ishad Nha) - Fixed the raise_dead node so that it actually raise dead. (Ishad Nha) - Fixed the second part of a special node dialog called from a conversation wasn't properly recorded (actually read). - Fixed custom items weren't properly masked (transparent background) in the inventory . - The Defense skill was used rather than the Thrown Missiles skill when firing missiles weapons. Fixed. - Fixed the Paralysing Ray trap wasn't working. - Fixed the petrification touch was causing disease. You now have the same chance of being petrified that when a basilisk gazes at you each time your are hit (subject to changes) (!). - Make the automap updates after terrain change/swap/transform. - Cleaned and expanded the Debug Mode. Type 'D' to begin debug mode and '/' to see commands. (Ishad Nha) - Corrected doubling 152 index in m_pic_index (little alien beast graphic can now be used). (Ishad Nha) - Corrected the "Town Special Encounter" node so that it makes full use of the ten groups. - Fixed the ring of Will was not checked during mind duel. (Lots of people) - Fixed Destroy Items and Move Items nodes so that they work for rectangles as well as a single space. - Hide Town now works. - Appears/Disappears on Day X now works. So does Appears/Disappears on Events. - Fixed the day_reached function so that it correctly checks if the major event between 1 and 10 has occured (0 always happens) - Nimble trait actually gave lower chance to disarm a trap, picklock and to put poison correctly. Fixed, the game now gives bonus to nimble ones rather than penalizing characters without the trait. - Changing non-conveyer belt terrain into conveyer belt terrain will not work unless the town where the change occurs begins with a least one square of conveyer belt terrain as default. Fixed - Step on sound code implemented. - Corrected the Affect Statistic Node random calculation method, so that 100 happens all the time (and 0 never). - Conveyor freezes upon loading fixed. - Chances of dropping fixed, so that 100 happens all the time (and 0 never) - Monster radiates field and rect_spec were plagued with the same random calculation as affect statistic node. Monster special ability : summons is now accurate. - Last missile weapon in a group that possess special abilities will fail when fired and last stack of an ordinary thrown item that is placed immediately prior to a stack of another missile weapon with a special ability in that PC’s inventory will gain the special ability of the adjacent missile weapon fixed. - Fixed the bug where you could fire an exploding arrow everywhere on the map, even if the target was out of range or not in sight. - The 16 different area descriptions can now be used. - The Spells “Resurrection” and "Raise Dead" did not require a Resurrection Balm, despite advertisements to the contrary. This is fixed in new scenarios (major version more or equal to 2) and left alone in legacy scenarios for compatibility reasons. - If two friendly NPCs occupy the same space, and they both have dialogued personalities, talking to either of them will talk count as if talking to the first placed mosnter. This prevent the game from freezing. - According to the BOE Manual, the Affect Party — Do Damage special node allows the scenario designer to vary the Pict. box. Doing so will supposedly only cause damage to the PC who triggers the special, if the party is in combat node. Fortunately, this has been fixed. - Ice and Magic damaging terrains now displays the right effect/plays the right sound when damaging the party while not in combat. - “Map Not Available” Option implemented. => (temporary ?) assigned to SDF[308][0] - Fixed oddities appearing in the map with animated terrains (torches, firecamp, water, ...). - Strength, Intelligence and Dexterity enhancing items will now works. (Windows specific) - Fixed demons were doing undead damage and vice-versa. - Loading a different party that is not in a scenario while playing a scenario won't result on mixed pc graphics in startup screen anymore. - Call Local Special terrain ability now correctly calls outdoor specials if outdoors (was calling last town specials) (Celtic Minstrel) - Fixed the town wandering function so that only the supposed monsters would appear in pair. - Fixed the outdoor wandering function so that the number of monster appearing follows the specified values in the Scenario Editor. - The generic portal/stairway node now don't call the next node if "Leave" is choose. - Damaging terrains (cold/fire/magic) will not damage party when in boat. Changes : - Created a compatibility menu - Debug mode : Set a SDF added. - Debug mode : Enter Town added (the party outdoor location is not changed). - Add a preference option that displays or not the start-up picture and music. - Changed the "Wait 40 moves" dialog to "Wait 80 moves" to better reflect the time actually waited. - Added a "Fast Boom Space Effects" option that speeds up any boom sfx in the game. - The party status text (Flying, Firewalk, Detect Life, Stealth) is not longer black on black. It should be readable now. - Once identified, the exploding arrows now shows the radius of the explosion. - Added a "Use Darker Graphics (Mac version)" option in the Preferences menu. To prevent mixing graphics, the game must be restarted after selecting this option (which can be set directly through the ini file to avoid this). - Frills won't appears on pits while in outdoor combat anymore (pits here = darkness which you can flee to) - Deleted a reference to PSD[181][6] which could prevent targeting lines from being drawn. - Cleans up from Exile 3 : - Anama references removed (was able to gain Anama's bonus against demons when the right SDF was set and suffers the Anama's wrath for learning Mage Spells is the same SDF was set) - Monsters can now breaks barriers in town which number is 20 or less. - You can't destroy non-existant slimes pools in town number 23 and 46, effectively locking the game because of missing dialogs, anymore. - Variables changed to unsigned : - Summoning variables - Gold - Food - Party statistics (amount killed, ...) - When the party is split, the following affect nodes now only affect the lone pc (Affect Health, Affect SP, Affect Skill Points, Affect Statistic, Give Mage Spell, Give Priest Spell) - Trims (frills) now displays in grass terrain (compatibility option). - Creatures in "one time place town encounters" now checks their life flag. - Mac legacy saves compatibility added. Classic Scenario Editor Beta 1 : Changes (partial) : - Changed the description of Affect Webs node spec1b so that it states that 0 was inflict and 1 cure. - Changed the description of Town Special Encounter spec1a so that it states to choose between 1 and 10. - Changed the Event preventing the Town from dying to accept (and states to choose) values between 1 and 10. - Animated terrains now play animations. - Custom terrains now displays (and animated terrains plays) - Custom items and monsters now display. - Boats and horses now displays on the view when editing towns. - Changing the picture of a monster won't display random numbers in monster width and height anymore. - Added Shops dumping (Ishad Nha's initial work) Misc : - Fixed/Modified Bladbase.exs Classic Character Editor : Changes : Version 1.0 : - The character editor now search the right help file. - If sounds are desactivated in the game, they will now be desactivated in the character editor as well. - Reorganised menus. - Implemented a "Save as" option. "Save" now overwrite the loaded file. Beta 2 - Corrected the edit day option so that it sets the day to the one specified and not to the day after. - Fixed the saving function : now changes can be saved outdoors (that was crashing at save stored_items making give_map non functional). That also fixes the stored items arrays being filled with items from current town. - If in a scenario, the editor nows display the name of the town the party is in or if they are outdoor. - Giving PC items from a Mac made scenario doesn't crash the game anymore (overall Mac scenario support added) - Cleaned the ressource file. The executable is now smaller. - On give items : the editor now tries to load the bladbase.exs file if the scenario file is not found. If can't locate the bladbase, the items menus are grayed. Beta 1 - The editor now display the filename of the scenario you are in. - The editor now get the list of items from the scenario you're in. If not in a scenario, bladbase.exs is used. (clicking a item with food (resp. gold) type will give a random (1-20) amount of food (resp. gold).) - References to registration and shareware are removed. - Status Screen now show Food, Gold and Day. - Corrected the garbled status due to a non-alive character (Ishad Nha) I've, of course, tested it but i may have missed one thing or another, so if you find a bug or glitch, please post it here. The scenario editor should be pretty stable (didn't crashed it once), but without large scale testing (after all, i know only two people, myself included, who used it ) i would recommend keeping backup files. The game is fully compatible (sometime requires using the compatibility menu) with legacy BoE. This version should be fairly stable and bug-free, so next step in Win32 development would be creating another branch (call it Open BoE or whatever you like ) and use Classic BoE as a base to refactor the code (beginning with implementing Celtic Minstrel's changes). The Classic BoE branch should now only be maintained (i.e apply bug fixes if needed). Unfortunately, this is likely to be my last contribution in a long time; this for two reasons : first, i'm going away tomorrow probably without an access to a compiler, but more important i've recieved my next year schedule and it will be one hell of a year with little to no time for external activities. I'll try to stop here once in a while to check up, but if i ever code anything i doubt it will be more than (quick) bug fixes. I would like to thanks Celtic Minstrel, who was nice to work with, for his, often revelant, remarks, The Almighty Doer of Stuff who mightely did some testing as well as giving precious comments, Thuryl whose posts length was in general inversely proportional to their usefulness, Ishad Nha for his preliminary works on the windows version of the code, Ormus for the 32-bit porting, *i (StarEye) for his (long ago) work on Open BoE and everyone who contribute to the Blades of Exile universe. Have fun, Chokboyz
  6. Originally Posted By: Celtic Minstrel I just noticed something odd about this: what's the difference between 0 (give light) and 1 (take light) when you're actually changing the global lighting properties of the town? The spec2 field are modifying the party light level, so the node has two utility : change the town lightning. give the party light. You can combine the two effects by, for example, putting the town to pitch black and remove all party light level. Originally Posted By: Celtic Minstrel Were you going to do this? Or does "post the code" mean commit it to the repository? It's in the repository right now. Originally Posted By: Celtic Minstrel Wait, what's Windows specific? It seems to me, you said there was no rect_spec type on Mac ... I may be mistaken, though. Originally Posted By: Celtic Minstrel ...Okay... but should we give the ability to use <=, !=, and >= as well? I'll take a look and implement it so. <= n and >= n are useless, since you always use < n + 1 and > n - 1. I don't know about !=, i think it can be added. Originally Posted By: Celtic Minstrel Any objections to rearranging it like this? [...] That will simplify things if we decide to split it into two nodes. Go ahead if you wants to, the windows code is now in the repository if you want to rearrange it too. Chokboyz
  7. Originally Posted By: Celtic Minstrel Correction: full_path_to_scenario/scenario_name.exr/ Oh, you mean the r was supposed to replace the s of .exs when naming the ressource folder ? Ok, i'll correct that. Originally Posted By: Celtic Minstrel And the point is simply that that's how I'll be doing it, and this is one place where consistency between platforms is mandatory. Suspecting as much, i've, in fact, adopted the convention Originally Posted By: Celtic Minstrel And the reason why I'm doing it is so that all graphics for a given scenario are collected in one place, without cluttering up the main folder. If the player organizes his scenarios folder well enough (let's say a folder for each scenario), then the main folder wouldn't be cluttered at all (in fact even subfolders would be fairly scarse ...). But that's nitpicking, i've adopted the scenario ressources folder method Chokboyz
  8. Originally Posted By: Celtic Minstrel ...Okay, not what I had planned, but it works. Just, could you at least make it look in a resource folder as I mentioned, instead of the top level scenario folder? (Just replace the final character of the full scenario path with an R.) I don't really see the point, but for sake of code unification i've done it (now the base folder in which the images are searched is full_path_to_scenario/scenario_nameR/ instead of full_path_to_scenario/. Don't forget the scenarios folder can now have many subfolders). I'll probably release Classic BoE version 1.0 this evening. Chokboyz
  9. Originally Posted By: Celtic Minstrel Okay, consider it fixed. I will Originally Posted By: Celtic Minstrel First, how does the node find the file? The method I was intending to use would be to search for a file called "sheetxxx.png" in the scenario's data folder (where xxx is a user-provided number, and the data folder is called scenname.exr). You enter the file name in one of the scenario text node and precise which one in the node spec.ex1a. Any filename (or even file path) can be used provided it begins in the current scenario folder. Originally Posted By: Celtic Minstrel Second, I think I would like this node to replace one of the dialog nodes (either dialog-terrain or dialog-item) since I intend to merge all three into a single node. Would be as simple as copy paste the code, as i've used already present dialog code (added an item 20 case when populating the dialog which draw the picture.) Originally Posted By: Celtic Minstrel Also, I suggest we pick a large but arbitrary limiting size for the picture. I'm not sure what though, maybe 600x800 (800x600 ?) or something? I won't, since the adjustment is automatically done (i've adviced, in the changelog, against using large picture for the previously mentionned reasons, though). If we set a limit size, we must think about how to enforce it : do we stretch the image until it fit (like i do) or do we truncated it ? Chokboyz
  10. Originally Posted By: Celtic Minstrel It seems like it would be true if the item is magic or cursed, or if it has a concealed ability. (It would also be true if it were property or contained, but I assume those properties would have been stripped away before the function is called.) And its truth-value would not depend on whether the item is identified. Am I correct? The thing is, if I'm right, I don't think it's the right thing to check here. Unidentified items should not combine, for example (you wouldn't pour the contents of one bottle into another if you did not know they were the same potion, would you?). I don't think conceal ability should have an effect on whether they combine. The functions differs from Windows once again. In Windows code, the only check done is if the item is identified ... (in windows code, identified is 1 (= 2^0)). If the same convention is used for Mac, then the check you mentionned would be false only if the item has no properties at all (be it identified or not). So, you're basically correct ... Here is the windows equivalent : Click to reveal.. (Windows code) void pc_record_type::combineThings() { int i,j,test; for (i = 0; i < 24; i++) { if ((items.variety > 0) && (items.type_flag > 0) && (items.isIdent())) { for (j = i + 1; j < 24; j++) if ((items[j].variety > 0) && (items[j].type_flag == items.type_flag) && (items[j].isIdent())) { add_string_to_buf("(items combined)"); test = items.charges + items[j].charges; if (test > 125) { items.charges = 125; ASB("(Can have at most 125 of any item."); } else items.charges += items[j].charges; if (equip[j] == TRUE) { equip = TRUE; equip[j] = FALSE; } takeItem(30 + j); } } if ((items.variety > 0) && (items.charges < 0)) items.charges = 1; } } I've used the available Scenario Editor code and implemented an edit box in Town Advanced Details which allows the designer to specify a town special to call if the town becomes hostile. I've also implemented a node that will display any picture (provided it's a .bmp) in a dialog (with only an ok button). The image can be of any size, but if it's too large to fit in the screen, it is automatically stretched (generally resulting in a large loss of quality). If everything is ok, I will probably release Classic BoE version 1.0 tomorrow or Friday. Hope it helps, Chokboyz
  11. Originally Posted By: Celtic Minstrel Hmm... what about a field containing the number of a special node to be called when the town goes hostile? That could either complement or replace hostile_fry_party. Hum, nice idea ... I'll see how i can implement that. Originally Posted By: Celtic Minstrel For the problem of making towns dead, how about adding a "bool town_dead[200]" to the party structure? It's not ideal, but it should work. It would need to be initialized to all 0's, of course, and an element would be set to true whenever the town_chop_time is passed or the number of monsters killed in the town exceeds the maximum number of monsters to be killed in the town. It would also be set whenever the town's status is changed by a special node (to false if the town is set to hostile or friendly, to true if the town is set to dead). Would work, but that's will be for the next version (with structure modified. The "item calls special node" depending of the magic_use_type part is implemented (like in your code) and working (0 is only local, 1 is town local and out global, 2 is town global and out local and 3 is only global). Chokboyz
  12. Originally Posted By: Celtic Minstrel Oh. Hmm... I'll think of a way to handle that... or take suggestions if you think of one... I've no suggestion for the moment ... Originally Posted By: Celtic Minstrel Just wondering, did you implement this yet? I'll be doing it soon if I haven't already (I suspect I added the code to set it when enchanting a weapons but forgot to add the code to check it when deducting a charge from an item). Not yet, added on todo list. I've added a field (hostile_fry_party) to the town structure that will display the town string 17 (comment 1, i don't think it's ever used at all) and kill the party when the town get hostile. Chokboyz Edit : the previously mentionned "Change Creature Attitude" node is implemented (in Town Specs, number 197) : spec.ex1a is the number of the monster in the current town and ex.1b is the attitude to set it to (0 - Friendly, Docile, 1 - Hostile, Type A, 2 - Friendly, Will fight, 3 - Hostile, Type .
  13. Originally Posted By: Celtic Minstrel Wonderful! Unfortunately, after some testing, all is not that brilliant : the "make friendly" part is working, but the monster will be in wandering mode if they were already wandering before (likely if the town was hostile). Besides apart, it works great (you can talk to people (provided you catch them ), etc ...). The real problem comes with the dead part of the node : the town structure is read each time you enter the town so there's no way to change the town chop time or chop key without writing over the scenario itself. A workaround would be to kill all monsters manually (i.e by setting the active variable to 0), but with the town reset, monsters would reappear ... Chokboyz
  14. Originally Posted By: Celtic Minstrel Hmm... I'm thinking we should include current health, current spell points, experience, skill points, and level in a different node, mainly because there are so many of them. As I see it, a "statistic" is something you can train in, and under that definition those ones don't qualify. Arf, it's already done ... If i ever find the time (or will) to split the code, i'll do a separate node, but i doubt it I've also added the Set_Town_Status node : if spec.ex1a is 0 (or -1 for legacy compatibility) the town is make hostile, 1 the town is make friendly, 2 the town is set dead (i.e next time entering the town will be abandonned). The game code for "kill party if the town gets hostile" is already there, so maybe we can do another field (hostile_fry_party ?) in town structure for that ? Chokboyz Edit : Originally Posted By: Thuryl More like 32767 Definitely, the damage type is short.
  15. Besides horribly unbalancing the game, the main reason is that the current phase is, for my part, releasing a stable enhanced,legacy compatible version (hopefully bug free). That's mostly over though and we'll move to deeper changes. I'm not sure having 65535 health is a good idea (or i hope you're also enhancing damages), but that can be achieved quite easily (see monster_record_type and pc_record_type structures). Hope it helps, Chokboyz
  16. Originally Posted By: Celtic Minstrel Hmm... so, perhaps make the effectiveness of Magic Map contingent on a new separate bitfield flag called "defy_scrying" or something... I've adopted the "defy_scrying" notation (changeable at will). I think we should also check if hide_map is set because it makes little sense to be able to cast Magic Map and have the map saying it is impossible (but maybe you've already do that ...) Originally Posted By: Celtic Minstrel I think I would actually prefer -1 for <, 0 for ==, and 1 for >. I know -1 usually means "unused" in a special, though, which would make < the default (when probably you actually want > to be the default). No problem. Done Originally Posted By: Celtic Minstrel No, you don't need to check the version. The in-memory structures should not have to adjust for different versions. That's the job of the file IO code. Alright. Originally Posted By: Celtic Minstrel Four is the perfect number; look in my terrain.cpp for the conversion code for "call special" terrain abilities. There are four options: always call a scenario special, call a scenario special if outdoors and a town special if in town, call an outdoor special if outdoors and a scenario special if in town, or call an outdoor special if outdoors and a town special if in town. I don't remember which is which, but for consistency we should probably use the same assignment as for terrain specials. (Even though in this case the designer never sees the numbers. ) I'll take a look and implement it so. I've completed the (big) "Has enough Statistic" node with : 0-18 - corresponding skill 19 - Current Health 20 - Max Health 21 - Current Spell Points 22 - Max Spell Points 23 - Experience 24 - Skill points 25 - Level Chokboyz
  17. Originally Posted By: Celtic Minstrel I think we should avoid having special nodes not in the "Affect PC" class from relying on the result of Select PC (by default, that is). Since this is an If-Then node, I'd prefer to make it a special case. However, that's open for discussion. Ok, let's see what others think of that, either way is fine with me Originally Posted By: Celtic Minstrel Either way would work. [...] As part of Check Statistic, or as a separate node? The Check Statistic node is already quite large in term of code, but it would indeed by easier to do a global function. I'm sure for now ... Originally Posted By: Celtic Minstrel I've changed it to check the defy_mapping bitfield variable. Maybe you can add a little more flexibility by having mappable area but where you can't cast Magic Map ? Originally Posted By: Celtic Minstrel Actually, this is probably better than the party size cap done by Stareye... I've used the last field (ex.2b) to set the calculation method (0 is <, 1 is ==, 2 is >). Originally Posted By: Celtic Minstrel I intend to shift the high level spells up so that the numbers you enter are the same as the numbers representing the spells in the actual code. So, 0 is a level 1 spell. Then a version check has to be done, because that would break legacy compatibility. Originally Posted By: Celtic Minstrel I think Stareye actually changed the Make Town Hostile node to a Set Creature Attitude node, which I think should instead be a separate node. Then perhaps we could change Make Town Hostile to Set Town Status (valid statuses being friendly, hostile, and dead). That seems like a good idea to have two separate nodes. If there's no objections, i'll do that. Originally Posted By: Celtic Minstrel Um... I think I was planning to make that depend on the Magic Use type. (By "object" you mean "item", right?) Yes, i was speaking of items. Good idea for the magic_use_type (we've got four at disposal, which one will we use ?) Chokboyz
  18. Originally Posted By: The Almighty Doer of Stuff A skill point check couldn't hurt as well, I think. Ok, i'll add it. Originally Posted By: The Almighty Doer of Stuff As for the species check, could it possibly be set up so designers can set whether to check if the number of that species is less than, equal to, or greater than the specified number? Using the last field for the checking method ? No problem Chokboyz Edit : I've modified the give spell nodes, so that the spec.1b field determinates if the spell is to be given or taken (0 is take, 1 is give, -1 is legacy). Low level spells can now be accessed if 100 + x in the spec.1a field. The last one i'm considering to implement is the "Make town hostile -> Set Town attitude" one (as in this post http://pied-piper.ermarian.net/topic/7/001822). Should i bother ? I've also added, some time ago, the ability for an object to call scenario specials, should i add the same type of ability with town/outdoor specials ?
  19. Originally Posted By: Celtic Minstrel I think you misunderstood something there. There are two situations in which items may stack: when picking them up, or when giving an item to another player. (Possibly also "Give Item" nodes... that might require something slightly different.) So I wasn't actually saying that they should be able to select a different PC to get the item. They should just be given the option to cancel. Hum, you're right ... I thought the "or giving the item to another player" part was the player's decision Originally Posted By: Celtic Minstrel The -1 check for Mage Lore will be unnecessary though. In the end, it will (scenario make version check) indeed Originally Posted By: Celtic Minstrel Were 196 and 156 formerly unused? Yes, 195 was the last "ifthen" special and 156 is the first "unused" special in the "town specials" (right before the rect_specials, but i think you said it's was a windows specificy ...) Originally Posted By: Celtic Minstrel In Has Species, did you cap it at the number of characters in the party? (ie If there are only two characters and you have a Has 3 Sliths? I didn't put any cap to the number of character to check for. It's up to the designer to take into account that party may be smaller than six pcs (e.g if you want to check if the full team is slith, you put 6, and since pc_number is less or equal to 6 that would mean full party whatever the size). It's open for discussion, though. Originally Posted By: Celtic Minstrel For Has Enough Statistic, perhaps 16 for the currently selected PC (ie selected with a Select PC node). For now, if a pc is selected (via a Select PC node), he and only he, is checked. Do you suggest we don't make this as the default behavior but rather a special case ? Originally Posted By: Celtic Minstrel Oh, another thing. For "Has Enough Statistic?" you should probably add the ability to check hit points (19) or spell points (20). (Alternatively they could be -1 and -2, but that's probably not as good and even confusing.) I was planning of doing a dedicated node for Health/Spell Points/Experience checking, but why not Chokboyz Edit : the variable c_town.town.specials2 is checked in the code to prevent Magic Map from being casted. Do we plan on using that or do I changed it to check the hide_map variable ? (there's no way to set specials2 for now but i can change that quite easily)
  20. Originally Posted By: Celtic Minstrel I think perhaps we should add a warning when items are combining that are not the same item (ie same number). Otherwise, if a designer decided to do something like what Thuryl described, the player may get confused and wonder why they have lost an item that they formerly had. And also the warning should allow the player to cancel picking the item up or giving the item to another player. It can becomes quite tedious, but seems doable. Writing a new dialog seems to be the only required task as either cancelling the pick up or giving the item to another player functions are (?) already there(a simple return for the first and a "select pc" call for the second). On the coding side : began adding some *i nodes (after all, all that needs to be done is implement them ). What has been implemented for now : Added a "Change Town Lightning" node. (special number 196, town special) Use messages, don't use SDF, Jump To unchanged, Extra.1a : lightning level to change to (0 - fully lit, 1 - Dark, 2 - Very Dark, 3 - Totally Dark). If not within [0,3], don't change town lightning. Extra.1b : Unused Extra.2a : Amount of party light level to change. Extra.2b : 0 is give light to party, 1 is take light, other is do nothing. Dynamically change the lightning of a town or the party light level. Changed the "Has enough Mage Lore ?" node to "Has enough Statistic ?". (special number 153, ifthen special) Don't use messages, don't use SDF, Extra.1a :If he party has (at least) this much of skill Extra.1b : Call this special. Extra.2a : Skill to check (0 - Strengh to 18 - Luck). If -1, checks Mage Lore like in legacy (compatibility). Extra.2b : Checking method : 0, others - cumulative, 1 - highest, 2 - average, 3 - lowest, 10 + x - that PC. If -1, checks Mage Lore like in legacy (compatibility). Jump to : Otherwise call this special. Checks the amount of a given skill and acts accordingly. If a pc a selected or party is split, only this pc is checked. Only alive PC are taken into account. Added a "Has enough of species ?" node. (special number 156, ifthen special) Don't use messages, don't use SDF, Extra.1a : Which Species (0 - Human, 1 - Nephil, 2 - Slith) Extra.1b : Special to jump to if met. Extra.2a : How many party members need species (i.e if number >= extra.2a)? Extra.2b : Unused. Jump to : Otherwise call this special. Checks if the party has so many characters with a given species and acts accordingly. Only alive PC are taken into account. If that seems ok (i.e nothing forgotten), i'll post the code. The hide map option has also been added to Town Options ("This place defies mapping" sentence adopted). Chokboyz
  21. Originally Posted By: Celtic Minstrel Anyway, I haven't changed the directory structure and have no intention of doing so. I'll be loading each sound from an individual file. No problem with that Originally Posted By: Celtic Minstrel I actually question whether boesounds.dll was really a good idea. It may be a Windows optimisation stuff or whatever, but i don't know anymore. Ask Ormus for that, i'm basically leaving that part 'in state'. Chokboyz
  22. Originally Posted By: Ahbleza The OS is Windows XP Professional. I'm using Winzip; (WinZip 9.0 SR-1, 'WINZIP32.EXE') Sorry, I thought I had identified the OS originally. No problem. WinZip is not the best archiver out there but there's no problem with it. Originally Posted By: Ahbleza I understand that Jeff's original structure is no longer applicable. I used that as an expample to question if sub-folders were important; apparently they are. Little piece of advice : if someone use a folder structure in a project, then it's a bad idea to break it (e.g moving the "Windows" folder can have 'dramatic' consequences) Originally Posted By: Ahbleza The new application is not un-zipping properly and I see no option to 'keep the folder structure intact'. May I ask which program you used to compact the Beta2? I'll find what ever that is and use it. I may have used WinRar or the Windows XP integrated archiver (i'm not trying to achieve optimal compression), i don't remember. I've just installed WinZip 9.0 to check and there is a 'keep the folder structure intact' option : when clicking the extract button, check the box 'use folder names' (that is in 'WinZip Classic' mode not the wizard. If you're using the wizard mode, turn it off.). If only using WinZip for unarchiving purpose, i'd suggest returning to the XP integrated archiver (nothing more to do than suppress the .zip files association with WinZip) which may be more simple to use (the unarchiving is done exactly the same way as moving a folder.). Originally Posted By: Ahbleza As to using the BoE_NP, the way you describe it, it sounds like I'd need to be in a programming mode to access the Scenario. For me to edit a scenario everything is done by Icons. I load the Editor, click on the button icon to load a scenario and click on graphic icon bars to select a function, or icons on the *.bmp image to edit nodes, etc. I don't understand how I can add the 'Command Line' to a running program. My bad, i've assumed you knew a bit more about computer. Long before Windows XP were other (read less general audience oriented/ convivial) Operative Systems and amonst one of them was MS-DOS (MicroSoft Disk Operating System). Long story short, there was no windows/desktop (even sometimes no native mouse support), all commands were to be typed and the user was entirely responsible for the memory management in his computer (low/high memory, XMS, EMS, 640k barrier for the nostalgics ). Because sometimes you don't need the whole desktop thing (or generally because it's broken), there's a (skeletic) remnant of this on modern OS (don't know for Vista or Windows 7, though) : to call it open the 'Execute ...' box and type 'cmd'. If you're absolutely not familiar with computer or don't want to bother, i'd not using BoE_NP at all since the new editor will probably suffice. Originally Posted By: Ahbleza You're not assuming I'm a programmer and have/use a File Editor, are you? I've just lately learned how to use Jeff's BoE Editor. ;^{ No problem, even Jeff's Editor can be a little tricky if you're not familiar with the way of proceeding. Originally Posted By: Ahbleza Sorry for being so slow to understand this. Languages were my 'strong suit' years ago. ;^{ I see no correlation between those two. Originally Posted By: Ahbleza It may be a little late in the work you all have been doing, but maybe you could add an 'Auto Load' function for your final product that included inputting the OS information. I'd assume that there may be a few others out here that may require some assistance. you I highly doubt i would make an installer for Classic BoE for two reasons : basic unarchiving is rather easy (you end up with WinZip installed on your computer, but i bet if you had used the integrated archiver it would have a being a lot easier ) installers/auto-exec are opaques and more adapted for larger sized projects. Hope it helps, Chokboyz Edit : Originally Posted By: Celtic Minstrel And the folder structure is with only two subfolders? Why is the scenario editor and the data not in a subfolder as it was in the original? Ormus put it that way (i think he intended to use the boesounds.DLL with all the three programs), and i found the idea good. Originally Posted By: Celtic Minstrel Surely you don't need your scenario to be in the same folder? Couldn't you just type "BoE_NP C:\path\to\scenario.exs password" or even "BoE_NP relative\path\to\scenario.exs password"? Of course, but i was trying to keep it simple here Originally Posted By: Ahbleza In-fraggin'-credible. I never knew that was there. I 'assumed' one needed to have some special program to un-zip things. Once it was necessary, but with modern OS it's not anymore.
  23. Originally Posted By: Ahbleza The original version, Jeff's, of Blades does have two sub-folders, BLADSCEN and BLSCENED. That structure is now obsolete. Originally Posted By: Ahbleza When I unzip the Beta2, no sub-directories are created, all files are listed individually, as you said. Then that's the problem : you're not unzipping the archive correctly. Like ADoS said whatever program you are using, there should be an option to keep the folder structure intact. The archive may also be corrupted, but then you shouldn't be able to open it at all ... Once again : Originally Posted By: Chokboyz Please gives us your OS type and version. That can be a useful element. Also, please gives us the program you use to unzip the archive. Originally Posted By: Ahbleza If the 'BoE_NP.exe is a 'stand alone', where should I place it to use it on a Scenario? Anywhere you want : BoE_NP is a command-line executable and installing it doesn't require more then putting it on your computer. Usage : put your scenario in the same folder than BoE_NP and use the command line to call it (syntax: BoE_NP scenario_name.exs password_to_set). Chokboyz
  24. Originally Posted By: Celtic Minstrel On an unrelated note... Chokboyz, is it possible for you to alter any member functions that call add_string_to_buf so that they return the string to add instead of adding it themselves? That's what I'm going to do when I get there (and already have done with the splitting functions). Since add_string_to_buffer only exists in the game (and not the editors), it's necessary in order to be able to use the exact same code for all three. (Unless we do some conditional compilation stuff, I suppose.) Added on the TODO list. Originally Posted By: Celtic Minstrel Also... calling add_string_to_buf() with an empty string now does nothing. Done. Originally Posted By: The Almighty Doer of Stuff As an alternative to fixing the "problem", we could hypothetically just tell designers to be careful about giving different items the same type flag, and not try to protect them from themselves. That's a good idea Chokboyz
  25. Originally Posted By: Ahbleza I downloaded the 'Win32_CBoE_Beta2.zip' file and tried to open both the Program Editor and Character Editors. I heard the Introductory Music(?) and only saw two rectangles on a black screen. Am I supposed to open these 'on their own', overwrite the original BoE, or what? That's because there's no images directory to search graphic files in ... That's mostly results from a bad "installation" of the game. Clean installation instructions : create a new directory on your computer (location and name can be what you wants), then unzip the 'Win32_CBoE_Beta2.zip" archive ('with folders' option activated) in this directory. Originally Posted By: Ahbleza P.S. Is the 'BoE_NP.exe' file supposed to be included with Classic BoE? Absolutely not, it's a stand alone file that can be used to remove (or set) password for a given scenario. Originally Posted By: Ahbleza P.S.+ When I try to run 'Blades of Exile.exe I get a message that it cannot find, 'BOESOUNDS.DLL' and looking at the list of files, 'boesounds.dll' is in lower case, not upper case. Is it me, or ? Please gives us your OS type and version. Also, does the same thing happens when 'installing' the game with the previous procedure ?(note the name of the DLL in the error dialog box is always in capital case, so nothing wrong here) Originally Posted By: Celtic Minstrel I'd wait for confirmation from Chokboyz, though. However, that's what the original directory structure was like, and I don't understand why it has changed. No confirmation here, the structure is unchanged so far ... Chokboyz
×
×
  • Create New...