99766054 visitors

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - creeperton

Pages: [1] 2 3 4 5 6 ... 14
General Discussion / Re: America: "Gay marriage is ok"
« on: July 03, 2015, 12:32:08 pm »
Gay marriage and marijuana being legal in my state are great and all, but I can't help but feel that this is a distraction from bigger issues.  Issues like the TPP.



General Discussion / Web Browser
« on: July 03, 2015, 12:24:20 pm »
I'm looking for a firefox replacement.  Something with a better UI than recent versions of firefox - I miss being able to configure everything.  Got any recommendations?

I was looking for a replacement when I found this: A modular web browser written in HMTL5 and Javascript (apparently someone forgot that HTML5 includes Javascript, but whatever).  Further googling led me to this:


Pretty cool idea.  I wouldn't mind a browser that lets me switch out different HTML toolkits and javascript engines, especially if I could get disable javascript features that lend themselves to attack sites and abuse of privacy.  I don't know enough about network programming specifically and programming in general to have an informed opinion, but wouldn't a truly modular browser make it easier to adopt different networking protocols?  How much of the internet today exists as it does because there aren't any alternatives to browsing the internet?

Beyond that, what features would be cool to have in a modular browser?

Personal Projects / Re: SnakeOil - SaGa Frontier data editor
« on: June 21, 2015, 11:56:14 pm »
I figured out how to make an event listener for the 8 radio buttons correspond to byte 0x03 of item data.  This is fun when it finally clicks.


I personally love SaGa Frontier, so any progress on an editor such as this fills me with joy!  :)

Good luck with your editor!
Your joy keeps me motivated when nothing I try works, thanks for caring!

And I never really cared for the sequel. Tried playing through it a couple of times, but it wasn't like the first SF
in many aspects at all. The watercolor style was nice, but it lacked that modern/fantasy mash-up that I enjoyed (from what I played of SF2).

Granted I'm not saying SF1 was perfect, it has it's flaws.  But even still, it's so incredibly awesome pulling off a super-mega combo (or whatever that rediculously overpowered melee move was called),  and running around it's prerendered cities.
SF 1 and 2 are different beasts, I see why you'd like one and not the other.  SF1 shares the same mid-90s anime vibe with FF7.

Personal Projects / Re: SnakeOil - SaGa Frontier data editor
« on: June 20, 2015, 04:40:01 am »
I like the art style and to a degree the music of SaGa Frontier 2 better.  SaGa Frontier 1 would be wonderful with watercolors and hand-drawn art like SF 2.

Personal Projects / Re: SnakeOil - SaGa Frontier data editor
« on: June 20, 2015, 04:24:53 am »
Nothing short of a complete rewrite can make SaGa Frontier less of a mess.  Once someone reverse-engineers the event scripting we can get a start on that, but even then there's a lot of stupid crap going on in the logic of the game.  It can't be addressed without rewriting swaths of assembly.

There's edginess and then there's true depravity.  When someone accuses you of the former, you know that you must try harder for the latter.

Personal Projects / SnakeOil - SaGa Frontier data editor
« on: June 20, 2015, 03:59:31 am »

SnakeOil version 6/20/2015.

Currently non-functional.

* Move initialization of GUI components and action event listeners to private helper methods.
* Finish action event listeners for byte/bit GUI components to mutate the item data structure.
* Consider creating action listener objects and adding them to the proper components instead of using private classes - probably less code, and neater too.
* Implement file I/O for SCUS_942.30.
* Implement file I/O for a patch format using raw bytes in a zipped folder.
* Implement menu options to create and name a patch.
* Implement a base patch to be used as the default data settings.
* Implement action events to highlight byte/bit GUI components if they deviate from values in base patch.
* Implement file I/O for disc image.
* Make a better looking layout for item data editor.
* Implement editors, patching, and file I/O for all known data tables in SaGa Frontier.
* Make a changelog generator.
* Make a data table preview generator.
* Make a better readme.

Why not go for a hentai game at this rate?  But something that would make people ashamed to admit they played it, let alone got off on it.

Also never stop being you, Dr. Floppy.  I love you.

I like the look of it. Has the feel of an industrial control panel where you have all of the switches and knobs and levers right there in front of you. Seeing everything out in the open like that is cool. Anyone here ever worked with an Alesis Micron? Exact opposite: Menu Hell.
That's what I intended.  I labeled the unknown bytes and bits too.  No reason not to, eventually someone will figure out what they're used for or someone will make a hack that uses them.

This is what I mean by layouts:


I'm having trouble putting keys and values in the hashmap that holds the item data.  You can't have methods larger than 64 KB.  I can't hardcode loading these values into the data structure because there isn't enough room to load it all.  I need to read it from a file but file I/O is the one thing we haven't really covered yet (granted, we barely covered most of the requirements for this project because the book sucks, but learning everything else has been easier than the specifics of I/O in java).

My instructor said that it's fine to open source it, provided I do so after final grades are posted.

I have a question about scope and GUI objects.  How do methods - specifically the methods called by action listeners - write to objects when those objects are outside of their scope?


The Combo Box with the "Item:" label (it shows "00: Cure" right now) should change the state of every other GUI object on the page each time a new item is selected - it should do this to reflect the data structure that contains each item entry.

The other GUI objects on the page should change the data structure of the current item entry when they are changed.

Should I put all these objects and action listeners in the same method, then call that method in the constructor to create the items JPanel, and add it to the overall GUI?  Should I put them in a separate class - maybe one that extends JPanel?  Which is the best design choice for future maintainability?  How will I ensure that the program overall can access the items data structure - is it as simple as get/set methods?

Here's what I have so far:

Every time a user selects a different item int the top-left combo box, the rest of the GUI in this tab needs to be updated to reflect the entry in the item data table for that item.  What should I google to learn more about this?

The GUI isn't done yet, by the way.  I need to finish the rest of the elements and then make a good looking layout.  Just to check, a JPanel is roughly equivalent to a div tag in HTML5, right?

I think I'll have a dictionary/map that where the key is the item name (a string) and the value another dictionary/map that is all of the bytes for that item's entry in the item data table.  That way when I need to read from it, I input the item name and then the index of the byte I want to get, and I have a bunch of switch case statements and whatnot for updating the gui elements that represent the state of that item's entry.  When I want to write to it it's the same, except when I'm only writing a single bit in which case I need to do a bit of math.

Does this sound sane?  I could also do it with an array (or an array of arrays) but I want to do it in the easiest possible way to maintain and focus on performance once I have all the features I want.

This is my final project for CS 162.  I'm only implementing editing for 2 tables in the game and file I/O for the SCUS (Playstation 1 executable) file.  Eventually this project will encompass much more than what's covered in CS 161 and 162, so how long should I wait before I release the source code?  Am I allowed to release the source code?  Do I own the copyright on this program if I turn it in as an assignment?  If I don't, then how am I supposed to develop a portfolio that I can host on my github account?  Should I just not bring it up and hope that it will be to much of a POTA for them to worry about when/if they do learn about it?

Site Talk / Utility gives an error when I try to access it.
« on: March 15, 2015, 07:05:27 am »

How do you do this?  I couldn't figure it out.

I understand how to make a dictionary, what it is, how to add entries to it, and so on, but I don't know why it isn't iterable by index or at least by the first and subsequent entries (an Iterator object should work fine, but it doesn't).  What gives?  Who made such an arbitrary decision?  What's the point in having maps if you can't iterate over the damn things?  What were the java designers smoking?

On a related note, I never realized how being a lazy piece of shit could make me a good programmer.  I helped a classmate in the library today and she said that she was impressed with what I did.  I didn't try to be smart - I tried to avoid doing things manually as much as possible so I could waste time on the internet.  Should I keep up the laziness or should I make an attempt to work harder?

Wow this is great!  Thank you both!

They deal with files extracted from isos instead of full roms, so it might not be what you're looking for. Some of them might require that you read documentation about the structure of the files.
I have to deal with ISOs on PS1 games, it's perfect.

My programming is lazy, very inefficient most of the time and I know for sure that some stuff is plain wrong (in some of the MXP programs at least), but I think the code is pretty easy to follow and can be used as an introduction to Swing. You might be more interested in getting started with JavaFX though, considering it's becoming the new standard.
We learn Swing in the next class, so that works for me.

I want something to study.

This is mostly for my own interests, but farting around with an open source rom hacking tool will help me in school.

General Discussion / Coupling and orthogonality
« on: February 24, 2015, 02:46:24 am »
Could someone explain how coupling relates to orthogonality in OOP?

I don't actually need the function to accept user input and use that input to generate code that will append the specified element to the end of the specified list.  I was just overachieving and I bit off more than I could chew.  I also thought it would be easier in the long run if I had code I could copy and paste, while changing only the user prompts and the list methods.

I'm trying to make a function that will append an item to a list based on user input.  Python 2.7.8, Windows 7.

Code: [Select]
# Lab 4.1 Create five separate lists.  Each list should have a theme and the
# theme should be reflected in the list name and its elements.  Examples are:
# pets = ['dog', 'cat', 'rat']
# numbers= [34, -1232, 456, 2134]

weather = ['Clear','Rain','Snow','Storm','Windy','Hail','Fog']

locations = ['Park','Forest','Beach','River','Library','Cafe','College',

actions = ['Walk','Examine','Activate','Talk','Wait','Eat','Sleep','Read',

day = ['Morning','Mid-day','Afternoon','Evening','Twilight','Night',
'Late Night','Dawn']

animals = ['fish','Crow','Deer','Seagull','Mosquito','Racoon','Skunk',

# Lab 4.2 Using the lists you defined in 4.1, define functions that
# demonstrate your knowleldge of the list functions: append, extend,
# remove, pop, index, sort, and reverse.  Write at least 2 examples
# using each function.

def listAppend():
    listName = raw_input('You choose to append an item to a list.\nFirst we'
    ' must select a list.\nType the name of one of these lists to see its'
    ' elements:\nweather, locations, actions, day, or animals.\n'
    'Which list do you want to view? ')
# ^get name of list to append an element
    if listName == 'weather':
        for i in weather:
            print i
    elif listName == 'locations':
        for i in locations:
            print i
    elif listName == 'actions':
        for i in actions:
            print i
    elif listName == 'day':
        for i in day:
            print i
    elif listName == 'animals':
        for i in animals:
            print i
# ^print all the elements in the selected list
        print 'There is no list available under that name!'
# ^print if user mistypes name of list
    appendElement = str(raw_input('Please type the element you wish to append to'
    ' the selected list: '))
# ^get the element user wants to append to list
    newList = listName + '.append(\'' + appendElement + '\')'
    print newList

The prompts work fine but the output is:
Code: [Select]
Please type the element you wish to append to the selected list: Sandstorm

What am I doing wrong?

I guess what I want to do is use input to get parts of code and then execute that code.  I know that it's a really stupid idea because that means that users can execute code but still you'd think there would be a way to concatenate string literals and variables that are also strings together and then execute them as code.

Programming / Re: Python libraries for FF7 LZSS compression?
« on: October 24, 2014, 10:27:48 pm »
Holy shit.

Pages: [1] 2 3 4 5 6 ... 14