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.


Topics - halkun

Pages: 1 2 [3] 4 5 6 7
51
Q-Gears / adding release files to sourcerforge
« on: 2007-02-06 05:25:59 »
I don't know how to do this, so I'm having a "knob" moment.

I have a source tarball of the 0.11 release on the q-gears homepage. Akari, could you add it to the downloadable files on the SF page and give me a quick lesson on how to do it? Thanks.

The tarball is located here...
http://q-gears.sourceforge.net/qgears_src_0.11.tar.gz

Remeber what I said about .svn files messing working directories up? This is a rip of my working directory with all the .svn files intact. Don't download this of you are pulling from the svn reposotory. It will mess up your working directory. It's just a snapshot of what's currently in subversion.


52
Q-Gears / SVN issues...
« on: 2007-02-06 02:24:46 »
Oh wow! I'm really fighting with SVN trying to get it updated. Looking at the situation, someone updated to Subversion 1.4 and and anyone running SVN v1.3 will not be able to commit properly. I can't tell if this is a thing sourceforge did, or something on our side. I'm updating to SVN 1.4 now to see if that will solve any issues. So, hold off on commits while I attempt to fix what going on...


More to come.

53
Q-Gears / Q-Gears... You guys need a manager? :P
« on: 2007-02-04 21:09:34 »
Hi guys... Remeber me?

Ok, Here's the skinny. I've graduated college and now looking for work. I've also have a band-spanking new system up and running. Unlike my laptop, this is a real desktop with a real OpenGL card (Nvidia), sound system, and live Internet connection. I also have gigs of hard drive space to consume....

This means I can now, for the first time in a long time, be pro-active in the development of Q-gears.

First I wish to apologize for my absence. I've tried to work "from the shadows" as best I could. At best I was the marketing department, where when there was a release, I tried to do PR as much as possible. Now that I have some more free time, I would like to give more attention to the administrational back-end to the project, and give it some direction.

I'll also try my best to work on it a little bit every day. That's my goal.

So, first off, I think we need to open a few discussions on how to manage some of the more "mundane" aspects of the project. Lucky for you, this will mostly fall on my shoulders. However there will be some changes on your guy's side too.

First on this list is SVN usage, which needs to be fixed.

Upon reviewing the situation, I think they current way of handling SVN is broken. The reason why I say this is because today I wanted to pull down the most recent version of Q-Gears and found it's a month old. (version .10). The binary, however, is version .11

I don't think this as acceptable, both from a programmer's standpoint and from a GPL one.

So, first topic:
Akari, please send me a .zip of version .11 so I can update SVN. Thanks.

Now, We had had a discussion in the past where everyone made their own trunks to keep from stepping on each others toes. Akari was to be the "programmer lead" and when Akari updated, we would allow everyone else to "catch up". It's a good experiment, but after having this in effect, I don't think it's a good way of doing it. It seems to stall out development, and doesn't allow any other programmer to look at the work being done. The linchpin of GPL is that it a) communal and b) open. This "code hording" (for lack of a better term) is not helping deveopment.

So, Second topic:
SVN should be a "bleeding edge" repository. It should be updated when you change something. I understand that this will break things, but it allows better access to the code.

To better keep everyone in lockstep, we should give ourselves incremental goals. When these goals are reached, we can then release a source tarball that's "stable" (for lack of a better term) from SVN and keep SVN bleeding edge. This seems a better way to manage the code.

Need a code manager? I can do that. Do we need something like a "Jobs" board where jot down what we are doing?

I'll also be wandering around in the wiki more, I'm seeing developments that aren't getting in. I'll work on that too.

Anyways, anyone have any comments on what to do next? I'm open to suggestions.

54
General Discussion / Shokotan drawing Sephy..
« on: 2007-01-15 07:11:03 »
I'm a fan of Shoko Nakagawa.

She's a famous Talent in Japan, she's also manga artiest, bikini model, and avid blogger.

This is from her Web-TV show that she does from her bedroom. In this section she takes requests from fans to draw something. In this case, the request was for her to draw herself as a magical girl fighting Sepheroth.

Because she's a big fan of Sephy herself, it winds up pretty funny at the end.

http://www.youtube.com/watch?v=wgiyMcPtxZk&mode=related&search=


55
Q-Gears / Holy Crap! 3,200+ hits!
« on: 2006-12-02 02:08:34 »
Ok, so as I wear many hats, one of my jobs is the external PR guy. I make posts in froums and try and bring some kind of awareness to the Q-gears program. Well, looking at the sourceforge stats today, we went from 600 hits to over 3,200! Looking at the refrences, it seems that Q-gears has made it on the "Linux Game Tome" page...

http://www.happypenguin.org/

Horray! Looks like someone saw enough potental in the program to submit it. I guess I should of made the homepage long ago...

I'm off to clean up some stuff on the homepage...

56
Q-Gears / Q-Gears Homepage... [IT'S UP!!!!]
« on: 2006-11-27 05:04:37 »
http://q-gears.sourceforge.net/

It's UP!!!! I'm going to bed. I need a webmaster and a new Q-gears logo....

Anyone see any probelms, let me know...


57
Scripting and Reverse Engineering / Special Suprise
« on: 2006-11-25 03:56:04 »
Just letting you guys know, I added something to the wiki for those who want to help with Q-gears, but can't do 3D graphics.

Stay tuned for more updates, as I have homework I should be doing instead.

58
Found this on youtube.

Here's hoping Sony's PSX emulator is a little quicker.

http://www.youtube.com/watch?v=3tO5vzHMYJQ&mode=related&search=


59
Q-Gears / New Jobs!
« on: 2006-10-17 17:26:12 »
Hi all...

I'm on vacation here in lovely Seattle. I just thought I would give an update. Gigahertz has been added as a developer so he can more efficently add support for MSVC. Also to Akari: You have release control over at the sourceforge page as well, so you can put your precompiled biniaries there.

Happy hacking.

60
Scripting and Reverse Engineering / Various PSX formats...
« on: 2006-10-11 08:43:46 »
Using Google's new code search thingy, I see that ffmpeg has a .STR file reader. It's GPL too so we can rip directly from this to play the movies directly from the disk.

Code segment is Here

ffmpeg also has the ability to read PSX ADPCM data too, so that solves some video/audio issues....


61
Q-Gears / Where has halkun been? (Good news/Bad news)
« on: 2006-09-30 18:46:52 »
I accidently posted this is a privite forum. I guess I should let everyone know what's up..

It's been an odd few days.

I got DSL, after three years of being internet-less at home. (Yay)

My ISP activly blocks all server ports. No home-based HTTP, FTP, or mail servers (boo)

I can VPN to a server at work and use the T1 there. (Yay)

I coudn't get Suse to auth on PPPoE because the instructions were in german (Boo)

Took laptop to computer store, where buddy said he would configure the laptop for me (Yay)

Hard drive crashed at the computer place, taking out all data on the drive. including...
Schoolwork, Gears(again), and devel stuff, and a novel I was writing.(BOO!)

Had a backup from one day previous(YAY!)

Installed Fedora, and now configing my laptop to make it cozy.(Ehh....)

Now, as soon as I'm done with the laptop, my server core server and then the T1 gateway are next. This is going to take a while. After that I'm installing eclipse, as I'll have a real OpenGL machine. It would seem all the segfaults were because my system was dying. Linux has gotten really good in the three years since I upgraded. (I don't do it very often. Once you have a stable system, linux can run for quite a while. Format/reloads are often done when the hardware fails, not when the software does)

Also, it seems I can't get a job. I might be moving to Seattle to see what's there.

62
Q-Gears / Halkun update (Annoucement)
« on: 2006-09-23 13:00:59 »
Ok, I'm almost done with school, and I'm in the process of getting a Real Job(TM)

However, there is an announcement...

*I'M GETTING INTERNET!*

That's right, I'm going to no longer be using the internet at school/work. I'll have my opwn connection and will be "around" a lot more. (That is, after I get my new job). Anyways, just to let you guys know where I've been.

63
Ok, I could never, *EVER* get pointers in C. I mean, I've tried, but I just get so borked up on them.

Here's the probelm, I'm trying to access a global pointer using TCL. Now TCL has a function that will allow you to mirror a variable in your C code with an external one in the TCL script.

You need to feed the function a "char *" that points to your string...

Ok, I've got that

So first I made a string and then I tried to feed it to the function

Code: [Select]
char name[8];
Tcl_LinkVar(interp, "creator", &name, TCL_LINK_STRING);

Nope that didn't work says it's the wrong type? It's a char, is it not? Ok, fine, I'll use a cast.

Code: [Select]
char name[8];
Tcl_LinkVar(interp, "creator", (char *) &name, TCL_LINK_STRING);

now it just segfaults. What on earth am I doing wrong?

64
So I've been probing more into Fieldscript's form can say pretty much with 95% probably that the original language was a TCL extension.

I'm creating my own "compiler" of sorts using TCL and extending the opcodes myself. I've only worked on it for 5 hours last night and the whole thing fell into place. Because of the way the an interpreter is implemented in C, there can't be any other way this wasn't a TCL system to begin with.

The framework I have so far puts all the opcode handlers in a separate C module. Each opcode is represented by a single function. How TCL works is that the whole system is based on substitution. There are no keywords and everything is defined by commands. You can easily extend TCL by adding a custom command (It's a line of code) The TCL syntax is the following

Code: [Select]
proc function {arg arg arg}
{
code
}

It's trivial to implement fieldscript

Code: [Select]
proc tifa{ }
{
on_click
{
battle {1 999}
ret
}
}

Using TCL also allows you to define global vars, and then hook them directly into the engine. If you change a varible in the TCL script, it's changed within the C code as well.

 You call a proc from C and on return, control goes back to the engine. It's exactly how fieldscript works. In the script itself, a proc can call another proc without giving control back to the engine.

The "compiler" I'm making will allow anyone to take the handlers and hook it directly into q-gears, as opposed to spitting out bytecode.

I'll be working on this this weekend, after I learn a little more TCL.

65
So, you have probably been thinking....

Gee halkun, what have you been doing on the U.S. three day weekend.

Well, for one, I dumped out all the debug rooms and scripts and put them in (another) 200 page document for you all to look at.

It will most likely be very helpful for anyone wanting to decode the opcodes. I heavly commened STARTMAP and then ran out of steam (It's ok, most the debung rooms do the same thing) I have it in a zip file that has the document in PDF, DOC, and original SXW format.

Have fun...

It's right here.
http://q-gears.sourceforge.net/debug.zip

66
Q-Gears / Cracks in Q-gears.
« on: 2006-07-29 14:27:42 »
Hi there, it's you friendly leader again...
     I'm going to tell a story. It will make sense when I get to the end.
     I used to be in the U.S. Navy and I worked on an aircraft carrier fixing airplanes. When a Navy plane lans on the flightdeck, it's not so much a landing but a very controlled crash. This landing style stresses the airframe and after every so many landings the aircraft is brought into the landing bay. Here the support structures, such as the wing crossbeam and landing gear mounts were sprayed with a chemical and looked at with an ultraviolet light for tiny cracks. These tiny problems could turn into big ones in the next couple of landings it it was always a smart thing to do.
     I'm looking at what we have for q-gears so far and feel it's time to identify some of the cracks and fix them, or at least change maintanace procedures. Some of these are my fault, and some are not related to codeing and some are simply out of my control. (Others are nitpickings that should be reguarded as such)

     Here's the first.
     I need to bring online two computers. First is a real devbox for myself. I have a PC that runs Suse 10 at home, but the thing runs like a turd, however it has a real NVidia card in it so I can at least do OpenGL properly as opposed to the craptastic garbage that I'm getting for output on my laptop. (The laptop is suppsed to be for schoolwork anyway and should not be used be code deveopment in the first place.)
     The second computer is a free-for-all server that people can submit "junk" to. (patches, example code, webcode, and Ayumi Hamasaki pictures, just off the top of my head) This second bit is pretty easy, as I'm on that server as we speak with a T1 and everything, however the routing table's borked. I'll fix that after this post and we should have an FTP up and running.

     Here's the second.
     So far I've had requests for the codebase to be more friendly to the Visual C++ platfrom(s). This sort of breaks my concept of a true cross-platfrom development environment. However, it's slowly dawning on me that we dont' live in a computing monoculture. Sadly, I don't quite know how to manage this yet. Initial talks with my open-source manager peers are gving me hints that I need to be a little more active in codebase and people management. Most other project leaders only accept patches and keep the codebase closed for check-in, even to the "heavy lifters". This is another thing to mull over. I find playing "catch up" with Akari's DevC++ codebase is rather unacceptable for everyone. We need a cohabitation soultion. Autoconf? I suck at shell scripting and even worse at M4. This will have to be addressed. Right now autoconf development is stalled as we have a file named config.h in our codebase that's required by autoconf for platfrom #define directives. To be perfectly honest, I'm timid about "fixing" this, simply because I will break Akari's work. I need to talk more with my peers to find some kind of answer to this.

     Here's the 3rd.
     Webpage? Beauler? Beauler? I need a status. Should I include a webserver on the free-for-all server for the code to be worked on?

     Fourth...
     If you have any hot pictures of Maki Goto, that would be cool too.

     Fifth.
     Not really a fifth, just opening the floor to a discussion. Let's see what we can get done ^_^.

67
Q-Gears / FIeldscript syntax.
« on: 2006-07-17 00:40:36 »
Ok, now that we have at count about four implementations of fieldscript floating about. I think we need a unified human readable way the laguage is suppoed to go.

I'm all for an #include directive to allow alasing of variables. I don't want them declared in script, I would like to command sequence as close to the bytecode found in the file.

I also like curly brackets.

Borrowing from Lasyan, Should varibles be something like this?

Code: [Select]
if (<03>[32] == 19)
{
pc(0)
}

This means bank 3, address 32, that can of course be aliased in an #include where we can have something like <mapjump> that defines the mapjump files.

Code: [Select]
if ($gold == 2872)
{
...
}

is that workable?

In my script dumper, I include an "alias" command for repeating scripts, though it would seem that the script slot location is important. If the script is in slot 3 or above it seems to be on "on touch" or something.

Also scritp 0 has two states, I define that as an init script and a base script.

Here's a dump from what I have from my program.

Code: [Select]
#################### Entity 0 (dic) ####################
                                                                               
ENTITY(0) = dic
                                                                               
dic (script 0)
{
      INIT:
1ba:    prtyp(0)
1bc:    ret
      BASE:
1bd:    ret
}
                                                                               
dic (script 1)
{
1be:    ret
}
                                                                               
alias dic (script 1 to 31)
                                                                               
#################### Entity 1 (cloud) ####################
                                                                               
ENTITY(1) = cloud
                                                                               
cloud (script 0)
{
      INIT:
1bf:    char(0)
1c1:    pc(0)
1c3:    ret
      BASE:
1c4:    xyzi(0,0,0,0,0,0,0,0,1,0)
1cf:    ret
}
                                                                               
cloud (script 1)
{
1d0:    ret
}
                                                                               
alias cloud (script 1 to 31)

In the end would like the addresses to be labels that can be refrenced with the JMP* commands.

Comments are '#' ... What are your thoughts....

68
Q-Gears / Halkun is starting school again!
« on: 2006-07-16 02:48:18 »
Hello, This is your local admin speaking.... ^_^

On the 17th I'll be gong back to school to take the last three classes I need to graduate. I will try my best to not fall of the planet, but the two courses I need are stats and human resourses, and I don't know how well I'll be doing.

I started Q-gears as a summer project. I really didn't think it would grow the way that it did.

To Akari, I'm really amazed at the amount of code you have dropped into SVN. It was you who guilted me into brushing off my coding skilles, (that I had not touched in over four years I might add), and knock out that script dumper. It now looks like I'll be adding that to your script code (easy hack, I already did the hard part of defining all the opcodes) and all of the sudden I've became productive.....

However, I will have to scale back my online presence in leu of school. It's really important I get this degree. Like I said, q-gears really exploded on me. I'm not looking for a replacement, and I'll be back, and I'll be watching.

If you have any questions, feel free to post.

69
Q-Gears / Problems with SVN?
« on: 2006-07-15 02:51:22 »
I can't seem to log in.

You guys having problems, or am I just being lame.....

70
As we seem to have about four people (including myself) taking a swing at conqering Fieldscript once and for all, I've decided to make this thread to post all your fieldscript questions/discoveries.

I'll put my quanderies/comments here first...

First, my fieldscript dumper, (Called "Scriptdump") is available via SVN from the q-gears reposotory. I could use some comments/suggestions on it. I have a slightly debugged version at home I'll upload tonight that fixes another "off-by-one" error in the "alias" repeat handeler. Other than that, the only thing left is the adding of curly brackets for if statements, dailog dumping, and the filling out of opcodes.

Now for my theories.

First, it seems that scripts 1-2 and 3-31 occupy different interactivity levels. I haven't played with it yet, the the placement of the files may have something to do with PC interactivity. Just a shot in the dark....

Questions...
from Akari's script dumper he has the listing from startmap here..

Code: [Select]
#D  IFUBL(50 00 01 00 DF 00) // if not - go check other value (#E)
    AKAO(00 00 00 C0 7F 00 00 00 00 00 00 00 00)
    AKAO(00 00 00 A0 7F 00 00 00 00 00 00 00 00)
    AKAO(00 00 00 A1 7F 00 00 00 00 00 00 00 00)
    AKAO(00 00 00 A2 7F 00 00 00 00 00 00 00 00)
    AKAO(00 00 00 A3 7F 00 00 00 00 00 00 00 00)
    AKAO2(00 00 00 C8 FF 7F 00 00 00 00 00 00 00 00)
    AKAO2(00 00 00 E4 00 00 00 00 00 00 00 00 00 00)
    AKAO2(00 00 00 B0 00 00 00 00 00 00 00 00 00 00)
    AKAO2(00 00 00 B1 00 00 00 00 00 00 00 00 00 00)
    AKAO2(00 00 00 B2 00 00 00 00 00 00 00 00 00 00)
    AKAO2(00 00 00 B3 00 00 00 00 00 00 00 00 00 00)
    SPECIAL(00 F2 00 00 00 28 3F 00 00 00 00 00 00 00
            00 F2 00 00 00 29 3F 00 00 00 00 00 00 00
            00 F2 00 00 00 2A 3F 00 00 00 00 00 00 00
            00 F2 00 00 00 2B 3F 00 00 00 00 00 00 00 00
    JMPFL(1E 00) // (#10)

Now, I thought that SPECIAL only used subcodes f5-ff, what's up with the above listing...

Also, what other fieldscript apps are floating out there? Maybe we can pool our resourses.



 

71
Scripting and Reverse Engineering / New scriptdumper
« on: 2006-07-09 21:47:19 »
Hi there...

I've been posting this in Q-gears, but thought I would go here for a general annoucnement.

I've started to write some "support software" for q-gears, and one of them was bassive headway into a script dumper for FF7. Now I really should call this YASD. (Yet another script dumper) but it could possably be confused with YASD, which is "Yet Another Silly Death" in the game "nethack" <--- A game you should really play. Word of warning, it's a *really* hard RPG.

Anyway I've gotten the program to the point where it's pretty much beta now. The source is availiable via SVN. If some kind soul want to compile it for our win32 friends, that would be cool. I'll toss the executable on sourceforge then so eveyone can download it.

Here are lots bug, but I want to get this out first....

-The KAWAI opcode arguments are not fetched as it's a varible length opcode.
-Most (all?) of the opcodes are not properly parsed. It just gives a dump of bytes that make up the arguments
-This only works with uncompressed PC field files. PSX support should be trivial, but I'm really burnt out on it.
-BASE and INIT lables can be misplaced in script 0, but they are labels anyway and BASE is a suggestion.

I would like some patches if you guys ant to fix anything. I'm put LOTS of comments in there to help even the newbie programmers. It's a console app (Non-gui) so if you want to help.... This is something you can try.

If you are one of the programmers gow have made a partally-done script dumper and want to donate some code.. I could use the support.

Anyways, have fun,.

72
Scripting and Reverse Engineering / FF8 Fieldscript
« on: 2006-07-09 21:17:14 »
I've been going back and forth over FF7's fieldscript system and I think that headway can be made to FF8's.

The script system seems pretty complex and was written to be "future proof" to a degree. This means I highly doubt that the script system was scrapped between FF7 Parasite Eve, and FF8.

Here's some assumptions.

The script system is "entity  based". This means that objects like Squall, drawpoints, and other people are all entity "units" that have a series of scripts attached to them.

All scripts must be initialized. This is usally done with the first script. One of Hiroki's (an event programmer for FF7 and FF8) "bad habits" is to call the init script "dic". (I think short for "director") Almost always the init script will have a CHAR, PC, TLKON, VISI, or SOLID command. (These are all two byte opcodes that are easy to find)

The entity themselves are named in *plain text*. This is true in FF8 as well as I've seen the "dic" lables

each entity has 32 "script slots" looked up with a table. If there is only two scripts used, then scripts 3 to 32 just repeat the last lookup address.

So if you were to look at the FF8 script file, you would find the following...

-[List of entities in plain text]  <--- look for a "dic" initialization label.

-[a script lookup table for each] <--  this will have double-byte value that go up and then repeat to fill the remaining slots.

-[the script data] <---- look for byte sequences such as the following at the beginning,
[A0 00] --> CHAR(0) this defines the main character, almost always the character you contol.
[A1 00] --> PC(0)  This defines which will be the controllable character
[7E 01] - TLKON (1) --> turns talking on
[C7 01] - SOLID (1)  ---> Makes the character "solid" so it doesn't walk through other entities
[A4 00] - VISI (01)   ---> makes the entity visiable.

Happy hunting!

73
Q-Gears / Script Dumper
« on: 2006-07-01 21:56:00 »
Ok, I'm in process of writing a script dumper. (I can read the header now)

It sould be the end-all-be-all dumping system. You guys will be able to rip what you need when I'm done. I'm progressing pretty quickly so I should have something basiclly functional soon.

As for right now, I'm being removed from the internet cafe I'm in.  This is due to the holiday. I'll see you guys on monday...




74
Hi there,
    I'm still alive... I'm also at work and don't have a lot of time.

I have a horrably innacurate and woefully incomplete fieldscript opcode refrence. I need it updated. (Most of this is from Qhimm anyway)
Download it here.
http://q-gears.sourceforge.net/tines.pdf

I could use some help fleshing it out.

75
Scripting and Reverse Engineering / REQ* Opcodes?
« on: 2006-06-27 01:11:23 »
What on earth are these things? They seem to be REturn Question. It's a method to have two script threads to "talk" to each other.

However, I'm stumped on what's calling who. Can someone step through the arguments?

Thanks.

Pages: 1 2 [3] 4 5 6 7