Jump to content

Sam.

Modders
  • Posts

    495
  • Joined

  • Last visited

Everything posted by Sam.

  1. They stole the idea and resources from this mod, the true and original one which has been in development for over a decade. The depravity of Roxanne and Within Amnesia knows no bounds...
  2. There was some discussion on that here.
  3. The Infinity Engine Acronym List, for those not covered by the forum software.
  4. If it is SoD run modmerge (or similar) tool FIRST. Try CLUAing in the items to a new game, not a saved game where you already had the items.
  5. Surely someone knows? @K4thos, @argent77 ? This topic is the source for my terminology of "stencil" vs "dithered" water. Is there a difference in the TIS/WED files, or is the difference just how the engine renders the water animation?
  6. What is the difference between stencil and dithered water in tilesets, and exactly what does the Degreenifier (tis2bg2.exe) tool do from a graphical/mathematics perspective? What else does one need to know on this topic? Of additional interest, who wrote tis2bg2? I see a "(c)KD" in the CMD output. Is that KingDiamond?
  7. I certainly agree -1 is the best value for no-value strrefs. A cursory test of ToSC shows no visible difference between 0x0000 and 0x2020 (and if any engine would care, I figure it would be the oldest), so I think the current behavior is fine. No reason to change what isn't broken. Thank you for the explanation.
  8. You are both right (of course). I am using target as a literal and as a variable within the same function call: STR_VAR str2 = "target" str4 = EVAL "%target%" I seem to get my desired result, so I guess I'll live with the warnings for now because changing the variable names would complicate the code, but we'll see. On an unrelated note, why does CREATE ~ITM~ leave the Item Animation field at 0x0000 instead of initializing it to the standard "none" value of 0x2020 (" ")?
  9. I am passing STR_VAR str2 = "target" to a function with the intent of setting the variable "str2" to the literal string "target". WeiDU is throwing me the following warning: WARNING: possible missing EVALUATE_BUFFER in [STR_VAR "str2" = "target" for LAUNCH_PATCH_FUNCTION "ps_append_str_inline_unless_default"] How can I convince WeiDU that I am doing what I intended without suppressing all warnings of this type? All I can think of is SPRINT target ~target~ STR_INT str2 = EVAL "%target%" But this seems like terrible programming...
  10. And make sure the language you installed the mod into is the same language you're still playing the game in.
  11. The villagers will come with torches and pitchforks, and you will be burned at the stake.
  12. There was once discussion of creating a wiki for the IESDP. So far this hasn't happened, but if it ever did, I believe it would be the ideal place to provide detailed descriptions and lists of caveats (and examples) for many of the aspects of the IE, especially effects/opcodes.
  13. Probably only from other people. Which mods?
  14. I apologize, but I don't quite understand/follow what you are saying. Would you mind elaborating?
  15. I was looking through the ITM file format descriptions between the different versions, and found a few discrepancies. I can make some PRs for some edits, but wanted to get some feedback first. In addition to some capitalization, spelling, and minor jargon differences, these jumped out at me: Edit: This forum software sucks at formatting anything more exciting than plain text...
  16. Have any of you ever looked at the FR Atlas (it comes as a program)? My understanding is that it is about as cannon as it gets when it comes to terrain and locations of places in Faerûn.
  17. That might count as breaking backwards compatibility (even thought it's really not), so while the documentation might be changed, I doubt the function will stop taking header. While we're discussing potential changes, maybe the ADD_ITEM_EFFECT and ADD_ITEM_EQEFFECT functions could return insert_point? I'm generating code on the fly to recreate binary files. I thought I could compare the original and new version to make sure everything was accounted for, but they are often not the same because of junk bytes behind the nulls. It takes away a sanity check, but I'll make due. If anything I would have guessed it was a type casting issue when converting integers into strings. If this really is the case, I'm shocked because doesn't that mean WeiDU couldn't do proper maths on numbers larger than signed 32-bit integers (and IE file formats do use UInt/ unsigned DWORDs, right)? My issue is I am generating code on the fly with something like (modified for brevity): SPRINT var "WRITE_LONG 0x000c %IdentifiedName% // Identified Name (strref)" and when %IdentifiedName% resolves to -1 I get: WRITE_LONG 0x000c -1 // Identified Name (strref) Which WeiDU chokes on. I either have to quote every variable, or I have to add additional code to detect if the value is negative, which gets messy. While we're at it, what's the best way to execute on-the-fly code? Right now I'm writing to a temporary file and then INCLUDE ing it, but I feel like there has to be something better... Another question or two: 4. Is SET (as in "SET var = 123" or "SET var = ~%val%~") ever necessary to specify? 5. What are the rules about spacing out components of commands? For instance "SET var=123" seems to work just as well as "SET var = 123", but I've encountered other instances (none in particular come to mind ATM) where not adding enough spacing threw syntax errors. Maybe it was not including enough spacing in STR_VAR or INT_VAR declarations in function calls. I'll try to take note of a specific example next time I encounter one.
  18. I hope it's okay if I ask a variety of not-necessarily related questions (mostly related to WeiDU coding) in the same topic rather than spamming the forum. If not, I'll correct the error of my ways. I'm not much of a WeiDU coder, and TBH I don't care for the style of the syntax: I generally find it cumbersome and the opposite of intuitive. Nevertheless, I'm interested in improving, and to that end, I have a few questions. I'll try to keep it to a manageable number at a time. ADD_ITEM_EQEFFECT: adds an equipping effect to an item. All variables except probability1 are 0 by default. This is a PATCH macro and function. [...] SET header to number of extended header (starting from 1) the effect should be added to (by default the effect is added to every header). Why does ADD_ITEM_EQEFFECT function call for you to set header ? Looking at the underlying macro, I don't think it is even used? Is it typical for the bytes after the first null in the 8 bytes of a resref to contain garbage data, or am I doing something wrong? I'm looking at items ATM, and it appears this is common. When reading a value (like a strref) with READ_LONG and then printing the value, why do I get negative values (often -1). I would have expected this behavior with READ_SLONG, but not READ_LONG...
  19. In my TP2 I have: README ~aurora/aurora-%LANGUAGE%.html~ ~aurora/aurora-english.html~ As an experiment, I have also added small language flags to the top of the Readmes with links to the versions available in other languages. Example. I believe using this approach has the following benefits (in no particular order): Player is taken directly to the readme in their localization if it exists, or the English one if not. If player wishes to read the readme in in a localization other than what they will be playing the mod in, there is secondary access to it (via language flag links). Player always has access to copies of the readmes at least as updated as the version of the mod they are playing, regardless of internet connection. For some, this may be a significant benefit. If you can make the %LANGUAGE% variable work in the ini, that seems like a much more elegant solution than having different links to each readme and the modder needing to add links as additional localizations become available. Local readmes are at least as up-to-date as the version of the mod they are shipped with. However, since the online version must, by necessity, be updated before anyone can download a local copy, they may be more up-to-date. In a perfect scenario, I would say it is best to default to the online version if a) it exists; b) there is an internet connection; and c) it is accessible (through any firewalls and the hosting site is not down). If the online version can't be reached, drop back to using the local one. Realistically, tho, this probably isn't overly feasible. On the other hand, you cover every possibility if you present the user with every link and let them use they one they want (or at least find one that works). Can you check if the path exists as a local file (in which case use that), and if not try it as a URL? I'm not sure I understand what you are getting at. For my mods, new or updated translations usually come to me in forum posts or PMs, and only occasionally as pull requests. Yes I have to take 10 minutes to add it to the GitHub repo and push the commit, but personally this is preferable to allowing anyone and everyone to update my mods or their readmes. Are you saying there is an alternative solution that still grants me some semblance of control? True, but the recent changelog of more and more mods, even in the primary language, is going the route of "see GitHub commit history for full list of recent changes". I'm not saying it's a perfect solution, but it certainly cuts down on the amount of work for mod maintainers and translators.
  20. FWIW (probably not much): I've been in the mood to actually play these games again (for the first time in a year [or two?]), and have been really looking forward to giving IWD-in-EET a try. Now that I hear IWD isn't really going to be part of the story, I'm having second thoughts. Honestly, I generally like IWD more that BG2, and I couldn't possibly care less if there are storyline conflicts between the same antagonist being in both IWD1 and SoD as long as IWD1 is added to the trilogy (tetralogy?). I don't care one way or the other about time travel IF AND ONLY IF (ALL) characters, items, experience, etc. go with me AND come back. I have no interest in spending months playing a 'sidequest' with nothing to show for it at the end. That would be an instant deal-breaker for me. Also, I don't want to have XP reductions shoved down my throat. If you feel you must add them, please make them optional. PS. Thank you K4thos for the months and years you have put into this project. It is appreciated even if I don't entirely agree with your current direction.
  21. Your mistake is in believing that Jarno is a "Tweaks Anthology modder" and that he speaks for anyone but himself.
×
×
  • Create New...