Jump to content

Chokboyz

Member
  • Posts

    428
  • Joined

  • Last visited

    Never

Everything posted by Chokboyz

  1. Originally Posted By: The Almighty Doer of Stuff One thing about specials interrupting waiting: I don't know how it works in Ormus's version (or the original BoE, I haven't played it in a while since I've been playing the Exile trilogy), but some scenarios include timers that call Play Sound nodes, for ambiance. Usually it's dripping in caves or birds chirping above ground. These probably shouldn't interrupt waiting, as sometimes they're quite frequent. I don't know how you want to work with this, but I'm sure you can figure something out. That's exactly the problem I encountered (Adventurers Club comes to mind, let's say a bird chirp every ten steps outdoor), and that's why the special interrupt code was supposed to be commented ... But i somehow forget to do it For now i've made a compatibility switch for the user to decide if the wait/rest needs to be interrupted or not. The whole process isn't definitive and may change as well (another possibility is to say that sound playing never interrupt anything ...). I've also implemented asynchronicity because of those ambient sounds (originally they would freeze the game the time to be played). Chokboyz
  2. Chokboyz

    Redo?

    Originally Posted By: Ishad Nha Chokboyz has the most recent versions but I don't know if he has uploaded them anywhere. Check out this page http://code.google.com/p/openexile/downloads/list The code is also there. Chokboyz
  3. Good work Celtic Minstrel, those links are better organized (not to mention valid) now. (really trivial things : Spears and Sign and Portents scenario names are misaligned) Some progress : When loading an outdoor battlefield, the c_town.town_num is not reset. If there's a boat or horse in the previously visited town, then pcs won't be able to enter the square with the same coordinates as the square the boat/horse was, in town. To fix it, i set the c_town.town_num to -1 at the beginning of start_outdoor_combat(). (It seems it's a BoE original bug, but i'm not sure of it) I've also changed the "Set SDF" debug command to display the value of the specified SDF if value to set it to is -1 (BoA style, seemed like a good idea). I forgot to comment the (working but non-canon) feature "when specials happens interrupt wait/rest" in the previous release. I've added a compatibility switch for it in the next release. I've made some adjustment to misc. battlefields : "forest" battlefield doesn't show a road anymore (erroneous documentation made me introduce this glitch, i think), road (cave/grass/mountains) battlefields appear correctly, cave bridge now has cave trims rather than grass. Finally, i've added the ability to play sound asynchronously : if the sound number specified to the "Play a Sound" node is -sound_num, then it is played asynchronously. By the way, Celtic Minstrel, is the new "trims drawing" method complete ? I think i'm going to tweak trim drawing, and avoiding Mac/Windows "code divergence" would a be good thing. Chokboyz
  4. Chokboyz

    Redo?

    Originally Posted By: Zalatar Honestly, if BOE were written well enough in the first place BOE could have all sorts of crazy features but bugs are still being found and are being squashed and found at almost the same rate. And squashing bugs is hard! Some part will have to be rewritten (some have already, for example the drawing process) but i don't think all would have to be rewritten from scratch (I think Nikmind is doing that with his Linux port ... let's hope he also fixs already discovered bugs). The dialog part is surely to be rewritten and Celtic Minstrel has already done that in his version of the code (if i'm not mistaken). Concerning bugs, i actually have a shortage of such to fix ... Unless someone find or i stumbled across one, there's not many which remains to fix (and it means, rewritten is the next step). Besides rewriting the game from scratch won't fix the bug that is present in the game mechanisms (unless you change them too, but that would break any legacy compatibility ...) By the way, Originally Posted By: Zalatar all sorts of crazy features feel free to add them to the compiled suggestion thread. If not too crazy, we'll surely implement them Originally Posted By: Zalatar I think that BOE should be split into a few parts and use more techniques such as classes and member functions. I think that the actual game code (not the making windows, receiving input, and doing dialogs) should be completely portable. It is almost completely NOT portable. That's why it is progressively being ported to C++ (mostly by Celtic Minstrel though). However, apart from OS specific code (Windows and dialog handling, input, sound, ...), what is not portable ? Originally Posted By: Zalatar Ideally, the only operating system specific code should be the code that is in charge of files and windows. Isn't it the case ? We found a few differences between Mac and Windows version but i think we merged them ... Originally Posted By: Zalatar And simply increasing the max hp or max level with no odd effects took me about 15 minutes! That's because you're not familiar with the code already (that and the lacks of proper code documentation) Originally Posted By: Zalatar I'm using Ormus's Win32 Boe (from roughly March 2008) and I can't get the item editor from the scenario editor to work right on the character editor! If you're using Ormus' version of the character editor, the item list is hardcoded (it's roughtly the bladbase.exs one), thus copy/pasting the code won't achieve much. But I agree, dialogs are quite a mess in the (my version of the) code. Originally Posted By: Zalatar That would really increase the speed of drawing because I've found the operating system drawing commands to be rather slow compared to hard-coded and specifically specialized drawing functions. The game was using an intermediate storage sheet slowing down the drawing process (that and trims were drawed on wrong terrains or not at all). That has been changed and the game run quite smoothly now (at least, i found it this way). Originally Posted By: The Almighty Doer of Stuff I may be wrong, but I believe they are working on making it portable between Mac OS and Windows On the executable side, Classic BoE is able to read savefiles/scenarios with either endianness (i.e coming from Mac PPC or Intel architecture). On the code side, when the dialogs code will have been isolated i think it would be far easier to make a common portable build (using QT or whatever). Overall, like ADoS said, check the last version (Classic BoE since you seems to be using Windows) and, if you want to, you're welcome to help. Chokboyz
  5. Originally Posted By: Necrophilius what is it? you mean, blades of exile modification?? If you'd say yes- another question: When i put MY OWN icon into scenario, using that modification, will ppl without this modification playin my scenario be able to see MY icon? or not? Not much a modification than an upgrade : mostly it has been bug fixing and porting to modern OS. The planned version, using new structures format, will features more in deep modifications. Concerning your question, the function being implemented in Classic BoE Beta 2, it is as ADoS said : people won't be able to see it (more it will display some oddness, like the trick right below) if not using recent versions (for now : Classic BoE, Mac/Linux equivalent). Originally Posted By: The Almighty Doer of Stuff There are some weird tricks that can be done in the original BoE involving distorted standard item graphics, although it's not to any great effect. I forget how to do it, anyway. The trick is to overflow the unsigned char used to check the stored variable by using value 256 + x, with 0 =< x =< 30 (if i remember correctly). The effect would be a standard item graphic displayed on top of whatever was previously in the case. On the coding side, i've implemented a new item ability (Call Scenario Special) under the Non-Spell Use category (technical note : the number of this new special is 95). It (surprisingly) call a Scenario Special Node (specified by the ability strength field) when the item is used. If the number of charge is 0, the item can be used at will (e.g a book); if a number of charge is set, then using the item takes one charge. Chokboyz
  6. Originally Posted By: Celtic Minstrel Are those the only broken links? (I'd check myself, but it would require downloading each one, which I don't particularly want to do right now.) Does anyone know the correct links? That's the only broken downloads i know of. A solution would be to upload the scenario at the spidweb ftp or link to the corresponding TrueSite page (with owner permission). Or you can always link to the source (Alcritas' site), but that's doesn't solve anything because : Originally Posted By: Celtic Minstrel Shouldn't geocities links be changed to, since they'll probably be broken soon? If nothing else, we could always link to Kelandon's archive... Yes, i think they should. The only non-scenario link that is pointing to Geocities is TrueSite, which is now hosted at http://www.truesite4blades.com . Hope it helps, Chokboyz Edit : Originally Posted By: Celtic Minstrel So, I guess what I'm asking for is links for Alcritas's scenarios that aren't hosted at Spiderweb http://www.geocities.com/alcritas/ Originally Posted By: The Ghost of Jewels And this (http://khoth.ath.cx/~khoth/) is the only site I have for Khoth. Does he have another? Originally Posted By: Khoth's response I used to, in the mists of time. It's gone now, and it wasn't Geocities.
  7. Originally Posted By: Celtic Minstrel We can implement it all we like, but until there's a place to store it in the scenario file we can't really make a scenario using it. But do we need the new scenario format to do this ? As far as i can tell, it would be as simple as writing a new case in special handling functions (giving those new nodes their own number, as there's place for it). The new scenario format may handled the special nodes differently, though. Chokboyz
  8. Originally Posted By: Necrophilius When i use special item, it drains X amount of mana, and makes YYY effect. But when im out of mana, it doesn't work. Is it possible? I know how to make item drain mana and else, but dunno if there is possibility to disable use of item when there is too few mana??? Like Celtic Minstrel said there's no way to check PC spell points (or health, or level, ...) and object can't call specials. There has been some suggestions of making a "Check statistic" node and to allow items to call specials, but that has not been implemented yet (that wouldn't hard, i think ...). A possible workaround for now would be to use "virtual" mana points using a SDF. I'm pretty sure that has already been used and worked (Alcritas ?). Originally Posted By: Necrophilius About skribbane drug - is it ever possible to make this as normal, non-special item? I havent seen that ability, or i have missed it somewhere...[...] It gave more hp i think, and more SP, at the moment of usage. Then, it addicted party, without any good effects of takin it (except of avoiding of bad effect) Until normal items can call specials, i would say no. Originally Posted By: Necrophilius is it possible to make character have more hp than 250, and more mana than 150? (by special item effects, but not mindduel...) Concerning Spell Points, there's a check in the code to prevent the max_sp to become greater then 150 when training. (and the restore_sp function does allow SP to become greater then the max). Specials also have such a check (health and SP no greater then the max). Mindduel bypass any check by increase the SP directly. Hope it helps, Chokboyz Edit : Originally Posted By: The Almighty Doer of Stuff It will probably become possible once the new scenario format is created, but that may not be for a while. I don't think we would need the new scenario format for this, or am i missing something ?
  9. When i said off, i was thinking of the whole blocking mechanism. Legacy scenarios have, of course, automatic adjustment on by default Chokboyz
  10. Originally Posted By: The Almighty Doer of Stuff Speaking of the HP doubling: I don't know if this has already been done, but designers should be able to disable HP doubling if they want, or perhaps set the doubling to occur only at levels set by the designer. I don't know why you'd want to set HP doubling, since it's pretty much one of the most hated "features" of BoE by designers and players alike, but at least it should be possible to disable it. I've added a switch, in the Scenario Editor, under the Scenario Detail menu, that would activate/deactivate the automatic adjustement of difficulty (i.e increasing health and damages) for the designed scenario. It's tested and working (legacy scenarios will have this off by default). Technical notes : variable flag_i in the scenario structure renamed adjust_difficulty and checked, if > 0, then difficulty_adjust() returns 1. All of that is subject to change (name of the variable used, method, ...), but the mechanism is basically done. Chokboyz
  11. Originally Posted By: Celtic Minstrel As well as clicking on the ? icon, pressing shift-/ (ie typing a ? on the keyboard) should also bring up the help in shopping / talking mode. Maybe I just misunderstood what you said, but it sounded like you were saying that clicking the help button now brings up the help? Yes, clicking the ? icon (the one on the dialog, not on the item screen) while in Talk Mode or Shop Mode now brings the help, even if "No instant help" is checked (that's the correct behavior). Typing a '?' on keyboard brings up the help too (implemented a few post ago if i remember correctly). Chokboyz
  12. Originally Posted By: Celtic Minstrel I also added a MODE_CUTSCENE = 51 to the mode enum. I'm not sure whether it'll be a permanent addition; that'll have to wait until I get to cutscenes. Ok, i've added MODE_CUTSCENE to CONST.h for now. Finally, i've released Classic Blades of Exile Beta 2. It's pretty stable but hasn't been tested on a greater scale (tested on 3 different computers, but that's not great scale,hence the beta). If everything goes ok, i'll drop the beta flag for the next release. Download it here : http://code.google.com/p/openexile/ Things to keep an eye open for : graphical glitches (never encountered one during the whole testing process, but then every computer is different), Empties (one cause has been found and fixed, maybe they're others causes always unidentified), Scenario Editor (never got any problem with it, intensive testing should be a nice thing here : it's the main thing that justify the beta flag), scenario loading procedures (subfolders in subfolders in ..., large number of scenarios, etc), compatibility breakings (even if it results from a bug in the scenario design), misc bugs in general Click to reveal.. (Changelog) 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. Any comment, suggestion, bug report can be done here or on the Issues page of the repository. Have fun, Chokboyz
  13. Originally Posted By: Celtic Minstrel We should define constants ONE_SHOT_MIN and ONE_SHOT_MAX, then, so that it can be easily changed if we radically alter the range assigned to one-shot specials. I second that Originally Posted By: Celtic Minstrel I just checked the Windows code, and you're only half right. Yes, there's a check there, but the function continues to execute after that check. So, it should work equally well in either location. Actually : Click to reveal.. (No) if (overall_mode == MODE_TALKING) { if (chr == ' ') chr = 'g'; for (i = 0; i < 9; i++) if (chr == talk_chars) { pass_point.x = preset_words.word_rect.left + 9; pass_point.y = preset_words.word_rect.top + 9; are_done = handle_action(pass_point,wParam,-1); return are_done; } } else if (overall_mode == MODE_SHOPPING) { // shopping keystrokes for (i = 0; i < 8; i++) if (chr == 97 + i) { pass_point.x = shopping_rects[1].left + 9; pass_point.y = shopping_rects[1].top + 9; are_done = handle_action(pass_point,wParam,-1); return are_done; } } if ((overall_mode != MODE_TALKING) && (overall_mode != MODE_SHOPPING)) { for (k = 0; k < (short) LOWORD(lParam); k++) switch(chr) { case 'D': [...] case '?': And i've tested it with the first configuration and it didn't worked. That or we're not using the same code Originally Posted By: Celtic Minstrel If you didn't notice, I assigned it to the shift-G key (I said that already, didn't I?) and also added it to the ? key (not shift-?) documentation. For sake of consistency, i've also assigned it to Shift-G and added it to the documentation. Originally Posted By: Celtic Minstrel Just like the '`', '[', and '+' cases which were totally useless. Either those were deleted from Windows code or they were not there in the first place Originally Posted By: Celtic Minstrel I'm going to delete cartoon_happening now. Delete store_anim_type while you're at it, since the two are often called together (and store_anim_type is dangerous because uninitialized). Chokboyz
  14. Well, i think some answers (and more, that site has lots of BoE scenarios related things) can be found here : http://www.truesite4blades.com/Home/TrueSite4Blades/AC1.html Hope it helps, Chokboyz P.S : writing a mail address in plain text in a forum is a bad idea as far as i know
  15. Originally Posted By: Celtic Minstrel I think the easiest way would be to check if the special is in the One-Shot range before removing it. This would also fix potential problems where the first node in a chain is an If-Then special that checks to see if a One-Shot has been triggered (if I'm not mistaken, it would be removed as well in the current system?). Thanks for your comments, i've in fact negliged some aspects of "specials" removing. I think that checking if the special is One-Shot is indeed a good solution Originally Posted By: Celtic Minstrel It was really easy because the code was already there – all I had to do was make a bool variable to activate it. I'll check and if it's the case in Windows code too, i'll gladly activate/add it. It was there and is done Originally Posted By: Celtic Minstrel Well, I put it in there too in your code. Don't bother, i've already done that (i'll upload the whole bunch soon). Originally Posted By: Celtic Minstrel Wait, what? What do you mean it's in the wrong place? You put it under the case '?', but a few lines before a check is done (in the Windows code at least), excluding the shopping and talking mode (which have their own check prior to that). The added code should so be moved to its corresponding mode check. Chokboyz Edit : Originally Posted By: The Almighty Doer of Stuff The &*() Easter egg is present in Windows already, from the original, non-open-source BoE. Had someone removed it between then and now? Seems so ... Nonetheless, it's back right now. Edit2 : Ghost mode added, debug_on variable deleted. Seems like the cleaning was not total I also noticed you were wondering what the 'I' case was in the debug code : feel free to delete it, it's my own personnal debug command (to output some value while in the game ... Dev-C++ debugger is not reliable enough, so i'm not using it). Oh and it seems like the case 'B' wasn't correctly putting the party back if splitted. Here is the code i used to make it do so : Click to reveal.. case 'B': if (in_scen_debug) { party.stuff_done[304][0] = 0; for(i=0;i<6;i++) if(adven.main_status > 9) adven.main_status -= 10; if(overall_mode == MODE_OUTDOORS){
  16. Originally Posted By: Thuryl Those four keys are adjacent. Shift-7, Shift-8, Shift-9, Shift-0. Alright, i didn't realized my keyboard layout was different from english keyboard ... Chokboyz
  17. Originally Posted By: Celtic Minstrel Then perhaps we need a new mechanism for it. I'll think on it, or if you have an idea I'll consider it. We've got at least three options : We don't remove the special (if i'm not mistaken, the special won't be called if PSD[a] is set to 250) We remove the outdoor special after being triggered as well We remove the triggered special (and only the triggered special) leaving other potentials specials with same SDF alone. We need the community opinion about it though, as it may break some scenarios ... Originally Posted By: Celtic Minstrel First, the code no longer uses the storage sheet and party template sheet. Second, the extended debug mode is fully implemented (though possibly with small differences) plus a ghost mode to pass through walls. Great, those temporary sheets were slowing the game down I've not yet made a Ghost-Mode (but put that on TODO list, low-priority though). Originally Posted By: Celtic Minstrel I also made three tiny changes to the Windows code. I highly doubt they'd prevent compilation, but you might want to update just to make sure. I added the Easter egg present in the Mac code (type "&*()"!), added shopping and talking help to the '?' case, and added a check for horses to the Return to Start case. The "Burma Shave" thing is clearly a leftover of Exile III, but i've added it for consistency. Just for information, aren't the keys making the messages appears supposed to be '1','2','3' and '4' or something adjacent ? For the same reason, i've added the check for horse (but it was working while on horse as well). You should also add a print_buf() after filling the buffer or the text will appear after the next move. Adding shopping and talk mode to the '?' call is a great idea and i've implemented it (you put the code in the not talking or shopping mode though; i moved it to the right place). Chokboyz
  18. So far, the program seems pretty robust, but i've come across a bug that makes a legacy scenario ("The Fog") unwinnable (and even stuck the player). Unfortunately, that's mostly a scenario bug : before entering the final confrontation room, the player is forced to pass under a gate, with a node that silently set the SDF[14][2] to 0 (which is the life flag of the "boss"). A few steps later, the "boss" is placed using a special encounter. Unfortunately, he doesn't appears because the life flag/encounter bug has been fixed (even after, when the boss is supposed to come back to life if you don't do a special action, he never reappears). I've checked the whole sequence and there's no flaw in it (life flag is set to 0, each time the boss is supposed to (re)appears). After further debugging, i found that a one-time message was called in an (optional) town (the Bat Cave) with the same SDF. The way one-time special are handled make any node with the same SDF not to be set at any further town loading, resulting in the previously "Set SDF" node not appearing, thus messing the whole final sequence. There may be other occurences of that, but i haven't notice any. Bad SDF management is the culprit here, but i was wondering if we should change the way One-Time specials are handled (bypassing the "is SDF 250 ?" part) ? (by the way, for those who wants to play the scenario, either don't search the chest in the Bat Cave, or set the SDF[14][2] to 0 after exiting the cave (using Debug Mode). Or if you feel like it, change the SDF using the Scenario Editor) Chokboyz Edit: i should add that the one-time special removing behavior is quite inconsistent since it happens only in town (you can retrigger one-time specials by resetting the SDF if the special happens outdoor).
  19. Originally Posted By: Celtic Minstrel You're still using the BoE scenario dialog, aren't you? Actually, this sounds like you're using a Choose File dialog... Yup, i'm still using the BoE scenario dialog. The Listbox is only a collection of strings (names of file found with extension "exs"), destroyed at the end of the function (already here in the original code). Chokboyz
  20. Originally Posted By: Celtic Minstrel By the way, I'd prefer if you make a new post rather than editing a post made a day or two earlier. Otherwise I'm likely to miss it. Ok, i'll will Originally Posted By: Celtic Minstrel These were used for the menu animation and the intro animation in Exile 3, I think. I don't think they'll be needed. We will do cutscenes, but probably in a different way; and a menu animation would not make sense. Coming to the same conclusion, I've deleted those without any problem. Originally Posted By: Celtic Minstrel Hm, not a bad idea. I actually have no idea whether my code does that. Probably not. Not founding a native WIN32API function that does so, i've wrote the code so that it scan "scenarios/" and its subfolders for "*.exs" files, populating a listbox with its founding. The rest of the loading procedure is unchanged (except the dynamic allocation thing). Tested and working with about 44 scenarios and 2 level subfolders. Originally Posted By: Celtic Minstrel How did you do this? Did you use malloc(), realloc() and free(), new[] and delete[], or a vector which will do all the work for you? I used a vector (though there's something fishy going on – somehow the relevant variable is not at the same address in both files where it is referenced? ) I refrained from using malloc(), realloc() and free() C functions, but used new[] and delete[]. Basically, each time the scen_headers are build, the game alloc the necessary memory for data_store2 and scen_headers. The memory is freed (delete[]) each time a new allocation needs to be done (i.e each time the scen_headers are build and memory was previously allocated) and on program shutdown. Chokboyz
  21. Originally Posted By: Miramor Also, one more issue (just one, I promise ) - walking in non-combat mode gets slow (the time delay between steps increases) when animated terrain is in view, and gets slower the more animated terrain there is in sight. I think i've located and fixed the problem : the slowdown appeared with the drawing of trims on animated water and walls, because the trims.bmp was loaded each time the draw_trim() function was called. The trims.bmp is now loaded in memory when the game is launched (forgot to do that when i loaded the main graphical sheets in memory). I've not experienced slowdown since, but i'll keep an eye open (note that trim drawing was buggy, and that slowdown may appeared even if no walls or (animated) water is in sight. If that happens, suppress frills/shore frills in the Preferences menu and the game should run at full speed. If not, feel free to post about it.) Chokboyz Edit : Some code cleaning. Cleaned unused variables : cartoon_happening was always FALSE and store_anim and store_anim_ul were never set or even initialized (despite being used ). Board Triviality : the link to TrueSite still needs to be updated. I remember stumbling upon dead scenario download links, but that seems to be fixed the last two scenarios under the "Alcritas - ARC Series" section are giving 404 errors. Last, "Johnny favourite" scenario is misaligned. A link to the repository (or at least the download page) is an idea to ponder (and since Celtic Minstrel's name has gone blue) Last Edit : the game now recursively looks for scenarios in "scenarios/" subfolders; that should make the scenario folder less crowded. Finally, the limit of maximum listed scenario is now gone (thanks to dynamic allocation). I'll probably release Classic BoE Beta 2 this week-end (provided i encounter no bugs), unless someone has a bug to report or something ...
  22. Trivial things : in the function create_out_combat_terrain(), the cave bridge battlefield is never created (a basic cave floor battlefield is used instead) because the check Click to reveal.. if (ter_type > 260) ter_type = 1; else ter_type = general_types[ter_type]; should be something like : Click to reveal.. if(ter_type == 401 || ter_type == 402) ter_type = 4; else if (ter_type > 260) ter_type = 1; else ter_type = general_types[ter_type]; Also, in the general_types[] array, the index 80 should be 11 and the indexes 215 and 216 are flipped (should be 1 and 0). The ter_base[] and ground_type[] arrays are the same, so one should be deleted. The wall trims are now working in Classic BoE (for the difference that makes ). Chokboyz
  23. Originally Posted By: Niemand That is, unless ADoS has renamed his scenario to be all non-printing characters and had his party in a boat Nope, the scenario name is valleydy.exs beginning at byte 45658 for the previous savefile. (party and pcs data need decryption but i'm sure you already knows that ) And the party is not in a boat. Originally Posted By: Celtic Minstrel Well, the Mac and Windows files are different; it may be just a byte order difference, but I'm not sure. There's indeed the endianess difference (at last between PPC and Intel/AMD architecture), but there's also some difference in the reading process (2 byte skipped right before the party.total_m_killed long variable, when reading Mac PPC file on Windows). After reading the party structure, the loading procedure is more or less the same for the two versions. Chokboyz
  24. Originally Posted By: Celtic Minstrel I created a new function, check_for_interrupt, which checks the keyboard and returns true if Ctrl-C or Command-period is pressed; run_special now checks this function before displaying the message and setting next_spec to -1. Good idea, i've implemented it (only Ctrl-C though). Originally Posted By: Celtic Minstrel The reason for this is that I realized that there's one other way of getting into an infinite loop: in combat. If you're looking for potential infinite loop : if you force place a monster in a large town where all sixty monsters have life flags, then the game will hang trying to find an available slot. (i've put a max amount of occurence before breaking the loop to prevent it) Originally Posted By: Thuryl I think there's a limit on how many AP you can lose from webs Indeed, you can lose 4 AP max. Originally Posted By: Miramor This should definitely be fixed then. Fix being webbed into immobility ? Chokboyz
  25. Originally Posted By: Miramor Dumbfound didn't seem to work on monsters last I checked. They could still cast spells of any level when dumbfounded. (Might be fixed though?) It works on monsters. Monsters can always cast first level mage spells Spark, Minor Haste, Strengh, Flame Cloud and Flame. And a dumbfound magic user is penalized if mindduelling (in fact, after draining spells points, the victim becomes more and more affected by dumbfound and when it reach max value (8), the victim is killed). So cast dumbfound prior to all mindduel Originally Posted By: Miramor Levels currently are still capped at 50 AFAIK, unless there's something odd going on internally? By, ahem, "clever" use of the Character Editor and Gain Experience nodes it's possible to gain experience equivalent to 200+ levels worth, but the PCs still appear as level 50 and their spells are no more effective than those of a level 50 PC. A (really) quick check of the code only shows experience cap at 15000, but that may as well be the case I'll check if i find some time. Originally Posted By: Miramor one more issue (just one, I promise ) - walking in non-combat mode gets slow (the time delay between steps increases) when animated terrain is in view, and gets slower the more animated terrain there is in sight. This might be a problem with running in Wine though. Can anyone on Windows confirm it? Noticed that (happens on Windows too). I wonder if BoE doesn't originally have such slowdowns, but i'll check it. Chokboyz
×
×
  • Create New...