Spastic Hamburger

Forum Replies Created

Viewing 20 posts – 401 through 420 (of 1,281 total)
  • Author
    Posts
  • in reply to: MWEdit #3940

    We’re probably going to want to generate a class diagram to help sort through things. I’ll see what options are available when I get the opportunity

    Edit:

    Google since again useless. It gives me results for UML when my search term was “linux generate class diagram”. /Sigh

    Just tried it in Bing and I actually get programs to generate class diagrams…Followed by UML…. Search engines are useless these days…

    Edit 2:

    Not seeing much in the community posts so I’ll check the package manager when I’m back on a computer.

    in reply to: MWEdit #3937

    Sorry, my dog’s been sick this week so it’s been a bit hard to get much done when I’ve had to get her out every hour or so. She seems to be doing better now, though

    Yep, operator overloading is definitely doable. Generally, it’s recommended to use the feature sparingly to help keep things from getting too confusing. BOSS, for example, uses operator overloading to simply define a template for its log file. It does so by overloading the stream operator << and replacing it with << template to make things cleaner.

    We can also overload the ( and ) to change the order of operations if we want. That’s a bit of a more esoteric change but it can definitely be done. Why we’d do so is anyone’s guess πŸ˜›

    If we were to overload things, how would we use them?

    Edit:

    Found the lines that create the arrays (I think, will need to verify later):

    /* Static array for creating the record's subrecords */
    #define DECLARE_SUBRECCREATE() private: \
    	static const esmsubreccreate_t s_SubRecCreate[]; \
    	virtual const esmsubreccreate_t* GetSubRecCreate (void) const { return (s_SubRecCreate); }

    They’re in esm/EsmRecord.h

    Going to leave it alone for now but it definitely could use some sweeping.

    So that macro is used to insert those lines into certain classes. Two better options would be to add it to the base class so they’re inherited or simply copy them into the child classes. It’s important not to do it via a macro so that we understand what’s going on in each class.

    in reply to: Random #3932

    Ugh, even the science category on Google News is overrun by click bait. The algorithms have gotten totally useless πŸ™

    Going to need to see if the main sites I get my science news from still have RSS/Atom feeds. Then I’ll need to find a web reader since it looks like Feedly has mostly moved away from them….

    in reply to: MWEdit #3931

    Yep, we also have the old joke, “Two plus two equals five for large values of two.”

    cppreference has a section on it here under “Floating–integral conversions”. Interestingly, the code mixes the double and floating point types in some places. The only difference between the two types as far as C++ is concerned is memory related so we may be able to simply combine most of those instances and reduce them to a single type.

    in reply to: MWEdit #3929

    There are some casts that can be removed. As an example:

    if (pEffectData->HasDuration() && pEffectData->HasMagnitude()) {
    	Cost = (float)(BaseCost / 10.0 + BaseCost * Duration * Magnitude / 5.0);
    } else if (pEffectData->HasDuration()) {
    	Cost = (float)(BaseCost / 10.0 + BaseCost * Duration / 5.0);
    } else if (pEffectData->HasMagnitude()) {
    	Cost = (float)(BaseCost / 10.0 + BaseCost * Magnitude / 5.0);
    } else {
    	Cost = (float)(BaseCost / 10.0 + BaseCost / 5.0);
    }

    Cost and BaseCost are defined as floats a few lines earlier so the result will automatically be float without concerns in the modern standard. Another option would be to set the float specifier on the numeric literals so they’d be, say, 5.0f instead but I’m pretty sure that’s unnecessary with the current implicit conversion rules in the language. Removing the casts in these cases will greatly improve readability so will add it to the list of things to do after the initial reformat πŸ™‚

    in reply to: Veg #3928

    Armadillos are the biggest issue around here as they like to tear everything up. We also have a few feral pigs in the swamp but, fortunately, I’ve never seen them in the neighborhood.

    I’d like to get some blackberries going to replace the ones that the city cleared out from the public lands a few years back but I’m not sure I have the right kind of soil. Definitely worth a look! Used to be able to get about a pound annually from those bushes πŸ˜€

    in reply to: Films & TV Shows #3920

    It was a lot of fun! Not sure how to follow it up. Maybe watching A Boy and His Dog again? πŸ˜›

    Finally got around to Galaxy of Terror. Mostly jump scares but did have some good scenes of the alien planet.

    And the Crab Monsters were a blast!

    Deus wasn’t bad. Took a bit to get going before it really gets interesting but once it does, it’s pretty riveting. Finding that the indie science fiction films are often better than the ones from well known studios. Britain, especially, makes good stuff. Maybe it’s because they don’t have the same constraints? Fortunately, Tubi has a ton of indie films

    I’ve always said that Britain makes the best science fiction and people always tell me it’s only because of the Doctor when that’s not true! Tons of books, Canadian co-productions, tons of indie films, and their series backlog has a ton of classics!

    in reply to: MWEdit #3916

    There’s another typo in a file name: ESMSubBase.h should be EsmSubBase.h to match the convention used with the other files. Will add it to the list to adjust later just in case the includes also need to be fixed. Not an issue on Windows as the file system isn’t case system but still good practice to line everything up. That and we hope to get it working on other systems πŸ™‚

    Additionally, it’s possible a lot of the macros can be changed to enums. Not yet sure as I’m still pretty rusty so that’ll be looked at much later.

    Additionally, the scope of many variables can be reduced due to changes in the standard since the code was originally written. This will help with behind the scenes stuff and will get it added to the list.

    in reply to: MWEdit #3907

    Took a quick look at .gitignore and it may need some additions, such as *.o to ignore object files. Will get it taken care of at some point πŸ™‚

    Also, proper destructors need to be used. It uses a mixture of destructors and a custom Destroy function. In some cases, the latter simply calls the former. In other cases, the former is commented out in favor of the latter.

    Also renamed the features.md file to FEATURES.md to follow standard naming conventions and fixed its line endings. Forgot that git had a mv command so the commit log is a bit messy. Hey, it’s been close to ten years! πŸ˜›

    It’s in the queue for the next push when I finish the esm folder πŸ™‚

    I may add some stuff to .gitattributes to ensure consistent line endings. Looking at it now….

    in reply to: Software: On & Off the Web #3906

    mlox is actually for load order management. It’s similar to BOSS but uses a completely different syntax and its code is much simpler. πŸ™‚ I think it stands for Morrowind Load Order Executable. When I was poking about recently, it looked like maintenance was handed over to rfuzzo. They’ve been working on Rust versions of various tools such as one that redoes mlox

    I was actually recently asked by someone about converting MWEdit into Rust but I really didn’t see the need and felt it was more work than the benefits (nothing really wrong with C++). May give more details as to my reasoning soon in the MWEdit thread πŸ™‚

    From a purely electrical standpoint, you should be able to check it by seeing if there’s current running through that circuit in the absence of an ammeter in the circuit (most chips have one to help keep them from going blooey). Of course, that’d require a logic gate that interfaces with the software side of things. May be possible with OpenCV but I’m not seeing any kind of information regarding webcam interop. I know they can work together as we used it twenty years ago on a robot but I didn’t see the code. When I try searching on Google, I get stuff completely unrelated. Again πŸ˜›

    Starting to get in the mood to experiment with different window managers again. Last time, I tried OpenBox and I’ve used Fluxbox pretty extensively back around 2008 or so. Leaning towards Awesome or IceWM this go around πŸ™‚

    in reply to: Random #3903

    Codgerspace is a pretty fun read. It involves a collection of short stories to tell a larger story so there’s not a whole lot of depth to it but still a good one πŸ™‚

    in reply to: Software: On & Off the Web #3900

    Cool! Unable to get the database to load at the moment so I’ll try again later. Always fun to poke through that stuff, especially the older stuff. πŸ™‚

    15 billion and growing! That’s a lot of cat videos! πŸ˜›

    Google has crawled 130 trillion pages while only indexing 400 billion. Lot of stuff to keep track of! Needless to say, Google runs a heavily modified version of *nix for their servers with a lot of specialty hardware. They used to sell a small mainframe for businesses to help them index internal networks.

    Also need to figure out which version of Mash is recommended these days as there are quite a few forks of it. May not be a bad idea for a thread for the knowledge base at some point πŸ™‚

    mlox was forked recently but I think the changes were merged upstream a few weeks ago with Dragon32 stepping down. Will need to verify that

    in reply to: MWEdit #3897

    Haven’t gotten to the usage yet but those arrays are arrays of structs using the names as the keys. Additionally, it uses accessor functions to convert the index to the string and back again. Based on this, there’s a very good chance that they’d be better off as a map of structs with the names as the keys. I’m a big fan of using data types that semantically make sense as they greatly help with understanding πŸ™‚

    in reply to: Sounds and Music #3895

    AT’s newest entry looks pretty slick too!

    Still using the Thorens 165 I picked up a couple of years ago. It’s completely stock, which is cool. The previous owner took really good care of it so the springs aren’t even worn out! πŸ™‚

    in reply to: Films & TV Shows #3894

    Saw The Monolith Monsters the other day and that was fun. They really don’t make them like they used to!

    This was a fun one. Had some pretty good lines but, sadly, the quotes area at IMDB is pretty lacking

    May watch Attack of the Crab Monsters next but haven’t made a firm decision. Pretty much pick whatever I’m in the mood for. πŸ˜›

    Could watch Interstellar but I’m kind of waiting on it until I can get the 4k Blu-Ray ordered. Want to see it in its full visual glory!

    in reply to: MWEdit #3891

    I’m currently working on the several arrays in esm/EsmBase.cpp, reformatting them so they’re a lot more readable (they’re large so it’s taking a bit: the file is going to be close to 3,000 lines of code once the arrays are reformatted), and they’re going to need some comments to describe what each field is for once we figure that out. The first field is obvious: it’s the text description but the next ones are unclear. For the animation array, for instance, it’s just a bunch of hex without any comments to tell us what the addresses are for. Each animation record has two hex fields associated with it and they’re often different so inference isn’t helping much.

    It’s also possible that some of these arrays would do better as maps or sets since they’re key-value pairs but we can look into that once we have a better handle on how they’re used.

    in reply to: MWEdit #3890

    Class members are going to need to be rearranged. They’ve got separate sections for members and methods which makes it hard to see everything at a glace so the sections are probably going to be combined. The order is also inconsistent so that’s going on the list as well

    Additionally, I’m identifying various if-statements that could use optimizing. πŸ™‚

    in reply to: Software: On & Off the Web #3886

    Google disabled new posts last year, which is a shame but I guess they were tired of hosting forums. I should catch up on C++20 and C++23 at some point. There have been quite a few changes. That said, I don’t like the new import feature as it makes it harder to tell where stuff is coming from. Do like the looks of the new std::println() function, though. Much cleaner than std::cout << “Stuff” << std::endl

    Yep, most archives use a form of *nix for their setup as Windows has lower limitations and is much slower when accessing larger data blocks. No experience with ReFS but it looks like a good option for Windows over NTFS. From the looks of it, it’s still very much a work in progress.

    Presumably, AndalayBay has a backup of at least some of the files as she’s reuploaded some but I don’t know how much she kept.

    Those have been superseded by the UMP. The UMP team went through all of those and cherrypicked the changes that were appropriate and discarded the rest. πŸ™‚ It’s possible there have been other community efforts since Jac passed but I haven’t heard of any.

    And make sure you grab OpenMW! Still need to get it installed over here at some point but they fix a lot of engine bugs in addition to recreating things so the Morrowind Code Patch is now obsolete.

    in reply to: MWEdit #3883

    Tried again to hunt down the main function or WinMain but still couldn’t find it. I wouldn’t be surprised if it was done as a macro somewhere. I’ll keep an eye out as I go and will take a close look at the VS project files when I get there.

    Going through the esm folder and the code is really hard to understand without proper includes and namespace prefixes (there are very few comments to explain things) so those will definitely need to be added. Some of the class names are also on the docket for being changed as they’re not very descriptive, consisting of things such as item1 and item2. Lot of stuff to decipher before it starts making sense

    Edit:

    We also will need to extract the layout in the resource file and convert it into GTK’s cross-platform XML.

    in reply to: MWEdit #3878

    Another note!

    Until the switch to GTK takes place, we’ll need to consider compiler support for the Windows GUI library. I know that, in the past, MinGW’s version of the Windows API had limited support for the Windows GUI library. It’s something that needs to be looked at again and kept in mind.

    Edit:

    Looks like MinGW-w64 has gotten a lot more GUI support in the years since I last used it

Viewing 20 posts – 401 through 420 (of 1,281 total)