Skip to main content

Meet Grinder

Continuing on Cataclysm-DDA

I have decided to work more with JSON of the game and resolve more conflicts and introduce more complexity to the game. This time, the issue was on creating protein powder. It is created from meat of some kind, and currently uses just fire to produce it. That doesn't seem right, now does it? Fire might be good for creating a steak, but how would the meat suddenly crumble into powder from that form? To resolve the issue, the issue creator called for adding mortal and pestle as additional necessity to create protein powder.

Alright, so where are these powder

git grep was my bread-and-butter of this particular activity. First, I wanted to know the object name of the protein powder. To that end, I searched for powder and landed on quite a number of results. Turns out, the name is simply protein_powder.

Okay, so how about the mortar and pestle

Again, git grep was very helpful. I also wanted to know how it was used as a part of the recipe, too. By searching through mortar, I found a bunch of matches over at the medication recipes that also shows how it was included into the JSON. It was mortar_and_pestle.

Final touch

Now that I know the names of all of the objects, it is time to apply the changes. A quick copy-paste later, I had protein_powder requiring mortar_and_pestle to be created. The world makes sense again. Except... what? hflesh_powder also only uses fire, too?

Comments

Popular posts from this blog

Debugging with GCC: GIMPLE

GCC and GIMPLE One of the very first thing GCC asks the GSoC applicants to do, even before writing the application, is to try various different debugging techniques using GCC. I was personally familiar with the basic, compile-with-g-flag-and-use-gdb method. Turns out, there's more: GIMPLE. A Simple but Non-trivial Program Problem Description The instruction asks to compile a simple but non-trivial program with some flags that generates debugging information: -O3 -S -fdump-tree-all -fdump-ipa-all -fdump-rtl-all . Because I was keep reading on ways to debug GCC just prior to the statement, I immediately thought "GCC" and tried make -j8 CXXFLAGS="-O3 -S -fdump-tree-all -fdump-ipa-all -fdump-rtl-all" . This was a mistake: turns out, GCC can't be compiled with those flags. Thankfully, GCC developers have a very active IRC channel for me to signal SOS. Resolution jakub and segher were quick to respond to my call for help. jakub: it isn't meant that y...

Project: Boost-free goblins

The headache: Boost Don't take me wrongly: Boost library is a powerful set of tools for bleeding-edge technology. Much of it gets absorbed into the C++ Standard Libraries. The problem lies in our project being inactive for 7 years, which means it is relying on a library that is 7 years behind. Installing such an old library is a chore, and securing a pre-built package is problematic at best. The project is even incompatible with the later versions of Boost. It may have once given the original developers a powerful technology to propel their project in the past, but now we are stuck with clock stopped at 2011. Along with libtcod being stuck also in 2012, dealing with Boost is critical to bringing the project up-to-date. Options There are several ways to address the issue. Option 1 : Upgrade We can read each related source code, research how Boost has modified the relevant function calls, and either fix the expected return type or required input type, This may lead to mor...

Me and the 7 Dwa.. I mean Goblins

Brief Introduction of the Dwarf Fortress The Dwarf Fortress is a well-established, closed-source, free game that has been continuously developed since 2006. It has inspired some of the most famous games, such as Minecraft. It is considered a rouge-like game, and it chiefly relies on ASCII characters to represent various parts of the game, although there had been many successful efforts to add more advanced graphics to make the game look more attractive. Despite the modest-looking graphics, the game is packed with many features including highly complex physics emulation (liquid and solid), path-finding of multiple characters based on various personal needs, and comprehensive mechanical construct emulation. Curiosity that is about the kill the Cat The game is closed source, so how it is designed and scaled is unknown to the public. That said, it seems to be a public understanding that the game, despite having many moving parts, is created to be a single-threaded program as was th...