FF7: Crisis Core Obtained!

September 13th, 2007 Pekk

That’s right folks, yesterday I received a copy of the new Final Fantasy VII game (Final Fantasy VII: Crisis Core). I have an imported copy from Japan, and though I don’t really know Japanese all too well, I do know enough to translate some bits of information. I’m using this game as a motivator for me to learn some more Japanese.

I’ve created a new section on the site for the Japanese language, as well as a section for my translation progress on the FFVII: Crisis Core game. More than likely, an English language release will be out by the time I get anywhere close to translating half of the game.

Due to my limited knowledge of Japanese I will openly admit that I really can’t translate hardly any of this, but I thought it would be nice to the people who know nothing at all if I translate the really obvious things.

I moved the rest of this post to its own page.

Posted in Final Fantasy VII: Crisis Core, Japanese | No Comments »

FiOS and its Grudge Against Counter-Strike

September 2nd, 2007 Pekk

Okay, the title may be a little bit strong, so don’t get the wrong idea here. A few days ago at my house my mother decided to upgrade to FiOS, not because she wanted digital cable television or super-faster internet (we already had Optimum Online high speed internet access) the problem we faced was actually a telephone issue.  The people at Verizon (our same phone service provider before the upgrade) suggested that the only way to fix our phone issue is to run a new (old-style) phone wire to the house; which they refused to do. The other alternative they gave was to upgrade to FiOS, and so we got it.

Having used FiOS for a few days I can say that after the few internet speed tests I’ve done it is definitely faster than my old provider (which, to my knowledge, is hailed as one of the greatest providers across the country because of its speed), but in the first 10 seconds of using this new FiOS internet connection I quickly conjured up a reliable method to completely shut down my internet simply by using it!

Sounds funny doesn’t it? Well let me tell you what I did and then I’ll tell you the information I’ve gathered about this situation so far. First I ran some speed tests on a few sites, dslreports.com and speedtest.net which I found later, and I believe is more reliable because it showed more consistent results. After this I think the next test I decided to run on it was a game test. I picked a game to try and see if I noticed any better ping results and any faster connection or anything like that. I picked Counter-Strike as my game. After loading Counter-Strike (via Steam) I clicked Find Servers to find a server and set my usual filters of ping < 50 and pretty much left the rest of the filters blank. I was absolutely shocked when only 5 servers appeared! Usually I would get at least 20-30 servers with that ping.

I started wondering if my ping was somehow worse and that more servers were being filtered out. I eventually got to thinking that maybe the problem had nothing to do with the service, but the router that they gave me. Sure enough this was the problem. This strange Actiontec brand of routers that I’d never heard of was doing something strange. I decided to log in and try to set up some port forwarding. My first thought related in this area was that maybe it was blocking some port and not all of the servers on the server list could be contacted. So I set up some port forwarding, lucky for me this router actually has a lot of port schemes predefined for a lot of well known programs and games. Counter-strike was on that list.  I opened the Counter-Strike ports via the preset template they gave and clicked apply, then I tried again.  The same thing happened.

I eventually found my way to a system log in the router which gave information about the messages being sent to and from the network, as well as error messages. I decided to click the Refresh Server List button in CS to get a new list so that I could go back to the admin log and check it. I got the list and tabbed back and then hit the refresh button to get a new log readout. The connection to my router timed out. I tried to go to a website like google.com, but again my connection timed out.

I repeated this process of “get server list” and “try to connect to the router or the internet” and I found that it was more than correlational. I was busy with other things that day so I didn’t bother trying to figure it out until earlier today.

I did a google search for fios counter-strike server list and found that there were many other people who had this same problem and they posted their concerns and cries for help in forums, dating back to over a year ago.

Through my scouring I’ve discovered that there’s a bug (or feature?) in the router that forces the router to die out when it detects any type of message flooding. So presumably what’s happening is that Steam is getting the server list, which has ~12000 servers world-wide and sending out a ping to each one and a request for the server info, each server replies with haste and the router perceives this action as maybe some kind of distributed denial of service attack, and so it shuts down all new connections for about 30 seconds to a minute. Other services I’ve noticed like AIM, will actually stay connected, and work perfectly find (I saw people signing on/off and I was talking to some people also during this time).

I found one forum post that suggested the following remedy, though it didn’t work for me:

played around a bit with the MI424WR configuration file, and found where the UDP flood protection was enabled. In the config file, look for the section:

(protect
(udpflood
(enabled(1))
(rate_limit(30))
)
(icmpflood
(enabled(1))
(rate_limit(30))
)
(synflood
(enabled(0))
(rate_limit(30))
)
(winnuke(0))
)

I set the “enabled(1)” to “enabled(0)”, and reloaded the configuration into the router. It appears to have removed the Steam issue (although the flood of packets still results in some NAT failures, probably due to the large amount of traffic). Try it out, and see if it works for you.

Though it didn’t work for me, I thought I’d document it here just in case I found another solution to the problem. Other posts on that same thread and forum suggest that using another router will fix the problem, but will also slow down your speed maybe. Since my Verizon router takes the coaxial connection and my older routers don’t I don’t think this is an option for me. Though another post I’ve found (maybe it was a different forum, too) suggested to poke through the router settings for the verizon router and find a way to switch it to a mode that will make it act as only a modem, and then use another router maybe as a routing device.

Posted in Computers | 1 Comment »

Jammin At Home

September 1st, 2007 Pekk

Yeah I haven’t posted much lately, which I’m discovering is a pretty terrible choice. So I’ll fill you in on what I’ve been doing.

I joined a new band that my friend’s brother is running, at the moment the band is called Stuntman, which is a name despised by my friend and I but the other two members seem to be proud of it. Either way a name’s just a name, it’s not that important even though I’d prefer a different name; what we are is what counts, not what we’re called.

I originally joined as a replacement drummer, since the original drummer (another friend of mine) wasn’t really showing up to practice (or something like that, I don’t know the intimate details of the situation). So now I’ve rejoined (?) as the bassist (-_-) I don’t like playing the bass all too much but I want to see where this goes and maybe it’ll be fun once I get used to playing the bass (I don’t really play the bass that often and I’m not really that good at it, I’m much better at the guitar, piano, and drums). In any case, this new position as bassist and backup vocalist should bring me up to par on my bass skills, to say the least.

I’m also planning on running my other band still. With my two cousins and my friend Lou, who plays guitar in the Stuntman band. He’ll also be playing the drums in my band, where I am happily situated with my guitar playing fun, off-beat and upbeat ska rhythms while singing lead vocals aside my cousin Andrew who is playing the trumpet. My other cousin Drew will be playing on the bass guitar using walking bass lines that really help drive the rhythm behind this Jamaican-originating music.

To help my well-roundedness in sense of music and instruments I’ve decided to take on a new challenge (this is actually from yesterday, Aug 31).  I decided to learn how to play the song Deadbolt by Thrice. It’s a very fast song that’s actually very easy to play despite its complex sound. I’m considering transforming this into a ska song somehow, though it will be very tricky since the two genres are total opposites.

Posted in General | No Comments »

More Mengen

August 24th, 2007 Pekk

Today I worked some more on MenGen, The Menu Generator program I’ve been working on for school. After trying to implement some features and callback (or as QT calls them, “slot”) routines I took a pass over my code. Seeing as it was very messy and the lines of code showed a lot of repetition I decided to make some functions.

Here’s some stuff I added today:

  • MG_ERR_ID_EXISTS macro — This macro displays a QMessageBox::critical() message. Saying that the ID you’ve entered in the ID box for your new item is already in use, and you must change it. It also changes the background color of the ID text field to a light red (#FAA) and sets focus to it, to make this more apparent to the user that they must change it. I had to use it in several spots so I wanted to insure that I would be able quickly change the message if needed.
  • txtID_enter(void) slot function — I added this function, and altered the enter slot functions of the other text fields, to make sure that when you hit the enter key in one field, it will tab to the next automatically. Hitting enter in the bottom box inserts the data by calling the new addItem() function (which was also added today) and focus is set back to the top, so holding down enter will spin you in a loop between the text fields.
  • addItem() private function — two of these were added, one to overload the other. Unfortunately for now I don’t know any other way of doing this, so this function’s exact contents exist twice. Since this functions first parameter is its parent object, I had to make one function to support a QTreeWidget* parent and one to support a QTreeWidgetItem parent.
  • The addItem() function also adds new IDs to the Style Target combo box.
  • The removeItem() function now searches and removes any IDs contained in the selected tree widget pending deletion, and removes it from the Style Target combo box.
  • Updated the titlebar caption for the GUI. It no longer says “MainWindow”

I’ve actually added stuff since my last post about Mengen but I forgot to blog it, so for now I’ll say that currently you can add items to the list of Menu items, and remove them, add child nodes and the remove function will delete the nodes recursively (if you select “yes” to a prompt asking to delete children). Selecting an item in the list causes the information to be tossed back into the text fields where you may edit and “update” the entries.

During my last MenGen session I tried to create a generateXHTML() routine which will generate all of the XHTML for the entire tree structure (giving only XHTML which is used for the list items and links, etc…) but I was getting some bus errors, which I’m still unable to resolve. I also created an xmlLine() routine which assists the generateXHTML() by actually generating the XHTML with the right information; it is now generateXHTML()’s responsibility to traverse the tree structure and call xmlLine() on each node.

At present I’m going to work around the bus error bug, ignoring it, until Monday comes and I consult with my professor at school for some assistance on the matter.

That’s really all that’s new so far… So I’ll post some screenshots ;)

MenGen GUI - Font SettingsMenGEn GUI - Color SettingsMenGen GUI - Borders SettingsMenGen GUI - Positioning SettingsMenGen GUI - Margin Settings

Posted in MenGen, Programming | No Comments »

Gettin’ in Groove

August 20th, 2007 Pekk

I’m starting to get sick of games so I’ve been giggin’ along since late last night  when I decided to put some work on a program I started, designed to edit Counter-Strike 1.6 configuration (cfg) files. I designed the GUI a few days ago, and as of last night I’ve implemented most of its functionality. I’m not sure if I’ll be releasing it, but if I do I’ll post it on SourceForge, and of course give a link here.

The  grand scheme is to design a program that will do this sort of config editing for multiple games, starting firstly with Counter-Strike. In any case, the real point of it was to get me back to programming by designing a program related to something that I was doing. This way I can get my mind set in program mode and continue on. If I can finish one project, it should be reinforcing enough to encourage me to finish the rest.

This week it’s finished projects or bust!

Here’s a bit more on the technical aspect of the CS Config program problems I’ve encountered:

double to integer conversion - there is a glitch involving 2 GUI components, a type double spin box control and a horizontal slider. When using the spinbox control, the value gets stuck going upwards at values .28 and .56. I think this is caused by an inaccurate conversion from double to int, something involving a loss of precision; but I’m not sure yet how I’ll fix this problem.

label signals and slots - there seem to be no signals and slots to handle mouse click events for labels, so I might have to create my own custom widget to provide a color picker button, which will extend the label widget and add the appropriate styles and signals.

Here’s some screenshots of the program, Configamajig, in action!

ConfigamajigConfigamajig 2Configamajig 3

Posted in Programming | No Comments »

MenGen Project Activity

August 16th, 2007 Pekk

Today’s post actually pertains to what I did yesterday in regard to MenGen. I’ve modified the GUI a bit. I removed some unnecessary layouts and replaced them with making “invisible” layouts out of the objects’ containers. This way I don’t have the distracting red lines everywhere (it makes it almost impossible to select anything).

I’ve also added several GUI components to the layout:

  • Font Settings tab
    • Bold, Italic, Small Caps, and Underline buttons.
    • “More” button. This button will pop a dialog to give more accurate control over the font settings.
  • Colors tab
    • Font color and background color labels (used for color picking)
  • Borders tab
    • Spinner controls for border top, right, left and bottom
    • Combo box drop-downs for unit selection (em, px, etc.)
    • “All” checkbox which applies the border-top setting as a border setting instead.
  • Positioning tab
    • Position (Static, fixed, relative, absolute) combo box
    • Overflow  (Visible, hidden, scroll, auto) combo box
    • Top, right,  bottom, left  positions (spinner boxes and combo box to select units)
    • Z-Index spinner control (with a check box to specify the default “auto” value)
    • V-Align editable combo box (to specify vertical alignment)
  • Margins tab
    • top, right, bottom, left margins via spinner controls and combo box (for units)
    • “All” checkbox to apply the margin-top value as a margin value.

Here are some screenshots:

MenGen GUI - Font SettingsMenGEn GUI - Color SettingsMenGen GUI - Borders SettingsMenGen GUI - Positioning SettingsMenGen GUI - Margin Settings

Posted in MenGen, Programming | No Comments »

Hanashiba in the Weapon Shop

August 14th, 2007 Pekk

This is another picture of Hanashiba (whose name I’m still contemplating changing), she seems to be in the weapon shop and confused… Really I don’t know why but I think it came out kind of nice. I used drawing pencils and a kneaded erased for this one. The erasers are a real pain in the ass to get used to and some of the pencils I have are too hard and I don’t like the way they feel… I liked the softer ones… HB and 2H I believe.

Also I had to fix up a line in the sketch in photoshop but that’s ok… and some black dot removal (still haven’t cleaned my scanner’s surface yet, I really gotta get on that. ^^;)

Hanashiba in the Weapon Shop

Posted in Anime/Manga, Art | No Comments »

More Hana!!!

August 11th, 2007 Pekk

Here’s more of the Hanashiba character (whose name is still subject to possible change). I wanted to go to bed but I felt like I did nothing productive today since I had to drive around all over the place, so I drew this picture. It’s a chibi (super-deformed) version of Hanashiba. Hehe looks like our mercenary needs some work :(

I will probably try to colorize this tomorrow or the day after… We’ll see what happens ;)

Tomorrow I am going to pick up some pencils and pens at Michael’s so hopefully my drawings will be better quality, and I can start inking soon, too.

Chibi Hana Sketch

Posted in Anime/Manga, Art | No Comments »

More Girl!

August 10th, 2007 Pekk

Another ridiculous title, but what can I say? I’m pretty ridiculous.

So here’s today’s art drawing (since I wasn’t feeling up to the programming challenge of finishing the MenGen GUI or going to sleep… Both challenges are fraught with peril.. *Shudder*…)

It’s the same girl. No name still… I’ll come up with something… I was thinking of something like… Hanashiba, which I stole from the japanese words, “hana” 【花】and “shiba” 【芝】meaning lawn… I’m not a master at japanese but together I would assume this means something like “lawn flower” but I would like to play it off as a joke using the second definition of “hana” 【洟】which means, “snot” making the joke “lawn snot” for a name… Sounds kinda funny… Also I’m not sure if I got the snot kanji right.. Small font it’s hard to tell… I’m assuming that’s right…

Well here she is, Ms. Lawn Snot… er… Ms. Lawn Flower. Looks like her axe broke :(

Hanashiba Broken Axe

Posted in Anime/Manga, Art | No Comments »

Pekk’s Plue Game Program! Pekk is a HUNGRY Plue!

August 9th, 2007 Pekk

While drawing wasn’t the only thing I did today during Qt4’s incredibly long compile session, I also created this funny little program. It’s called the Plue Game.

I found it in the back of my Rave Master manga. The basic rules are the game are as follows:

  1. Write your full name on a piece of paper.
  2. Convert the letters of your name into numbers, A=1, b=2, and so on.
  3. Add up all the numbers in your full name and take the right-most (ones’ place) digit. This is your “Plue Magic Number” as I call it, this number is used to look up in a table what type of Plue you are (since it’s quite a bit of text I won’t post all of the results up here, you are free to download and compile the program if you wish, or even just read the code to find out what each number means).

For whatever reason, I thought it would be faster to just write a program to do this for me so I didn’t have to do the addition myself. In any case I was horribly wrong, especially since I decided to write the program in C.

I’ll post the file at the bottom of this post, but for now I just want to share some important notes (things I discovered, things I’d forgotten about) pertaining to C.

  1. Never ever use gets() or some asshole will call you out on it. (Actually I was already well aware of this, I just wanted to point out how some people have nothing better to do than try to prove they are better than everyone else. Don’t be this guy! Play nice! I don’t want to read your drama when I’m trying to find a function name!!).
  2. For strings with spaces (the google search that brought me to the above forum posting) use fgets(). Check the manpages for more details; use stdin as a substitute for the file stream, it will work just fine, but it will append the trailing endline characters!!! (I actually just left them in there and worked around it like that, since this is just small program anyway).
  3. To get a character input you can use getchar(). Also it seems as though this is the only way to do the “Press any key to continue” (without the “any key” part) type of pause on all platforms. (Windows users you can use a system(”pause”) call, but this obviously won’t work for unixes). If you’re just waiting for the enter key stroke so you can clear the screen, it’s not necessary to assign the return value of getchar() to a variable.
  4. C is fun!! I should use this more often! ;D

That’s about it so here’s the source code, released under the GPL (I’m not sure this is entirely necessary for such a small program, but that’s okay.)

REMEMBER: I DID NOT MAKE THIS GAME, I ONLY CREATED THE PROGRAM. I TAKE CREDIT FOR NOTHING OTHER THAN DIGITIZING A GAME THAT ALREADY EXISTS.

Happy Plue gaming!

Download The Plue Game!

Posted in Anime/Manga, C Programming, Programming | No Comments »