Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
Acmlm's Board - I2 Archive - - Posts by Ramsus
Pages: 1 2 3 4 5 6 7 8 9
User Post
Ramsus

Octoballoon
Level: 19

Posts: 141/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-17-05 02:19 AM, in JavaScript onclick help. Link
<input type="text" onchange="if (parseInt(this.value) == 12345) this.value='';">

and for strings:

<input type="text" onchange="if (this.value.match(/^\s*(12345)\s*/)) this.value='';">


(edited by Ramsus on 07-16-05 05:20 PM)
(edited by Ramsus on 07-16-05 05:39 PM)
Ramsus

Octoballoon
Level: 19

Posts: 142/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-17-05 08:17 AM, in JavaScript onclick help. Link
Originally posted by BGNG
The only things that are restrictive, Ramsus, is that 1) the "this.value" only works if the statement is triggered by the text input's events and 2) the string to check is the numeric value of 12345. What if we want to click a button and check for "zyxwv"?


1. Change this.value to a reference to the value of the field you want to check and call it when you want the value checked. It's not brain surgery, and anyone who knows Javascript can do it in 10 seconds with a decent DOM reference.

<script type="text/javascript" language="javascript">
<!--
function checkInput(form) {
if (form.exampleInput.value.match(/^\s*(12345)\s*/$))
form.exampleInput.value = '';
return false;
}
// -->
</script>

<form onsubmit="return checkInput(this);" action="" method="GET">
<input type="text" name="exampleInput">
<input type="submit">
</form>

From the original post though, it sounded as though he wanted to check the input after the user changed it, not after pushing a button.

2. Did you even look at the second example?

<input type="text" onchange="if (this.value.match(/^\s*(zyxwv)\s*/$)) this.value='';">

Javascript has had regular expressions for a long time. Works in Mozilla, Safari, and IE mac, and is well documented as working in IE4 by MSDN.

EDIT: As a form with a button:

<script type="text/javascript" language="javascript">
<!--
function checkInput(form) {
if (form.exampleInput.value.match(/^\s*(zyxwv)\s*/$))
form.exampleInput.value = '';
return false;
}
// -->
</script>

<form onsubmit="return checkInput(this);" action="" method="GET">
<input type="text" name="exampleInput">
<input type="submit">
</form>

This also has the added benefit of simply running checkInput() on the form if the user hits enter. If you want to actually submit the form, change checkInput so it returns true. It'll check the input with checkInput, and then submit the form.


(edited by Ramsus on 07-16-05 11:18 PM)
(edited by Ramsus on 07-16-05 11:33 PM)
Ramsus

Octoballoon
Level: 19

Posts: 143/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-18-05 01:13 AM, in Simple GBA (and maybe DS) compiler/assembler Link
Originally posted by HyperHacker
So there's nothing GBA-specific here? Not even printf()?


Nope. You've only installed an assembler/linker, a compiler, and a standard C library, all designed to be portable.

These things should just work out of the box: optimized memory copying/clearing functions (written in assembly), most string and math functions, qsort, etc.

You'll have to mess with the linker script and crt0.o object image to get things like malloc/free working and to supply some functions for newlib stubs (like _write_r, so you can use newlib's printf, but then you need the newlib documentation for details). You might also consider rolling your own custom allocator instead of using malloc/free.

One really nice thing about everyone using GCC and newlib is that there are already custom linker scripts and crt0.s files out there you can just download, assemble, and use -- assuming your setup doesn't have one already. That'll make it so a lot of things work properly on a GBA.

You can also write your own versions of whatever functions you might need and link without any standard libraries (-nostdlib to give it a try, use start instead of main as the entry point). If you do this, your code should only have includes for your own headers and use functions in your sources, but it'll be a lot smaller.


EDIT: Here's a list of the headers you should have available:

_ansi.h
_syslist.h
alloca.h
ar.h
argz.h
assert.h
ctype.h
dirent.h
envz.h
errno.h
fastmath.h
fcntl.h
grp.h
iconv.h
ieeefp.h
langinfo.h
libgen.h
limits.h
locale.h
machine/_types.h
machine/ansi.h
machine/endian.h
machine/fastmath.h
machine/ieeefp.h
machine/malloc.h
machine/param.h
machine/setjmp-dj.h
machine/setjmp.h
machine/stdlib.h
machine/termios.h
machine/time.h
machine/types.h
malloc.h
math.h
newlib.h
paths.h
process.h
pthread.h
pwd.h
reent.h
regdef.h
search.h
setjmp.h
signal.h
stdio.h
stdlib.h
string.h
sys/_types.h
sys/cdefs.h
sys/config.h
sys/dirent.h
sys/errno.h
sys/fcntl.h
sys/features.h
sys/file.h
sys/iconvnls.h
sys/lock.h
sys/param.h
sys/queue.h
sys/reent.h
sys/resource.h
sys/sched.h
sys/signal.h
sys/stat.h
sys/stdio.h
sys/string.h
sys/syslimits.h
sys/time.h
sys/timeb.h
sys/times.h
sys/types.h
sys/unistd.h
sys/utime.h
sys/wait.h
termios.h
time.h
unctrl.h
unistd.h
utime.h
utmp.h
wchar.h
wctype.h




(edited by Ramsus on 07-17-05 04:24 PM)
Ramsus

Octoballoon
Level: 19

Posts: 144/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-19-05 10:55 AM, in Simple GBA (and maybe DS) compiler/assembler Link
Not quite. Delete the crt0.o files (or move them into a backup folder), then assemble crt0.s (as -o crt0.o crt0.s). Then in your projects, put crt0.o and lnkscript in the same folder and run gcc -T lnkscript to link stuff. You'll also need to use AgbMain instead of main.
Ramsus

Octoballoon
Level: 19

Posts: 145/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-20-05 02:46 AM, in Simple GBA (and maybe DS) compiler/assembler Link
If lnkscript is already there, then it was probably set up for you. If gcc wants you to use AgbMain, then that's the case and you can forget about setting it up yourself.

Otherwise, you'd want to remove these:

F:\DOS\gbadev\arm-agb-elf\lib\crt0.o
F:\DOS\gbadev\arm-agb-elf\lib\interwork\crt0.o
F:\DOS\gbadev\arm-agb-elf\lib\thumb\crt0.o
F:\DOS\gbadev\arm-agb-elf\lib\thumb\interwork\crt0.o

And put the crt0.o file that you assembled from crtls and the lnkscript file that comes with it in the same folder as the sources you want to compile. Then use gcc -T lnkscript -o whatever.elf main.o graphics.o input.o etc.o and objcopy -O binary whatever.elf whatever.gba

Ramsus

Octoballoon
Level: 19

Posts: 146/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-20-05 09:42 AM, in Simple GBA (and maybe DS) compiler/assembler Link
Yeah, I think the guy who maintains it went on a trip or something.

Anyway, certain things like printf won't work without a lot of additional code porting more newlib features, but with crtls, malloc and sprintf should work just fine. Now you just need to write a few letter drawing routines and you can write your own version of printf (also look up varargs if you aren't familiar with them).

There's a GBA library called SGADE here: http://www.suddenpresence.com/sgade/

You can make use of it with the newlib C library (now that you know the important parts work), but it doesn't require one.
Ramsus

Octoballoon
Level: 19

Posts: 147/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-20-05 07:45 PM, in Lineart issues. FREE Colleen INSIDE Link
Paths are definitely the best way to get clean, consistent lineart. The only two other ways I can think of that would be practical are inking with a tablet or using a good ink pen with some high quality paper and then scanning it. Using a brush tool with a mouse is too time-consuming and bad for the wrists.

Some tips with the pen tool (using Paths):

* If you want to quickly move a node in Photoshop, hold Ctrl (or Cmd on a Mac) and drag the node around. To adjust the curve, hold Alt and drag out the handles from the node.
* Photoshop and The GIMP 2.x let you stroke paths, so you don't have to make a selection. Look at the tool options in The GIMP when using the path tool. The GIMP 1.2 places the stroke path option as an unlabeled button in the Paths dialog (click the Paths tab next to Layers).
* To adjust the line quality, set a different brush on the brush tool before you stroke the path with it (and avoid pencil brushes unless you're working at print sizes, they're just too pixelated).
* Work with an image at twice the width and height that you want the final result to be. It'll make all of your lines crisper/smoother (and thinner, so take that into account if you want thick lines).
* Don't go too light on the shadows and highlights, or you'll get flat looking characters. I tend to make this mistake a lot. The path/pen tools (and the polygonal lasso tool in Photoshop) are great for creating selections to fill with shadows and highlights. You can also use the gradient tool to blend highlights or shadows.

If you're short on RAM, do the lineart at a large size, but with the color mode for the image set to grayscale, then scale the image down to a smaller size and switch it to RGB mode when you want to add colors. You'll reduce your memory usage by about two thirds, and still get high quality lineart.
Ramsus

Octoballoon
Level: 19

Posts: 148/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-21-05 01:41 PM, in Marqee Help Link
You could use Javascript to do it, but don't. Flash and Java are even worse.

Scrolling content distracts from the focus of the page. If your page has no focus, rethink the design.
Ramsus

Octoballoon
Level: 19

Posts: 149/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-21-05 01:49 PM, in Simple GBA (and maybe DS) compiler/assembler Link
Generally speaking, you probably won't use the things that don't work. If in doubt, write a program to test it out or don't use it.

Some things that won't work: pipes, sockets, files, stream-based I/O, threads, processes
Some things that should work: string and memory functions, math
Some things that might not work, or might work slowly: Floating point math functions

You might consider writing your own memory copying/blitting functions that use GBA-specific code (DMA and what not), as well as your own memory allocator (maybe something stack-based? Also check out the alloca function. Nonstandard but very common.).
Ramsus

Octoballoon
Level: 19

Posts: 150/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-23-05 05:17 AM, in Marqee Help Link
Originally posted by Narf
Lol, Javascript?

text
<marquee direction="up" height="50">text</marquee>

That's all it takes.



I'm shocked and disappointed that they would add support for such a useless and annoying tag to Safari and Mozilla.

Also, if you're going to mention that tag, then at least explain how to tune the speed, so if he does use it, he won't end up making his visitors feel like they're playing another one of those stupid click the monkey games with his site navigation links.

If your layout lacks screen real estate, using something users have more control over (drop down menus or section pages with more detailed links) would be more appropriate than something that forces them to wait on the links to pass by. This is the Internet after all, not the TV Guide channel.

But in general, hiding important links from the user's immediate view is a good way to make them assume in the first few seconds of seeing your page that it doesn't have much content (or rather, the content they're looking for). You should always make sure your layout has room for the important links.

Of course, he's only using them for topsite links, but why not just make the things invisible if you're going to make them more difficult to click? It's not like users flood to topsite lists to find the sites they want to look at anyway. Try spending your time getting a higher PageRank on Google.




(edited by Ramsus on 07-22-05 08:25 PM)
Ramsus

Octoballoon
Level: 19

Posts: 151/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-23-05 05:55 PM, in Strings in C++ Link
The string header includes a getline template function that takes an istream reference and a string class reference. So:

using namespace std;

/* ... */
string mystring;
getline(cin, mystring);
cout << mystring << endl;

Takes one line from input, puts it in mystring, then outputs it.

Ramsus

Octoballoon
Level: 19

Posts: 152/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-25-05 02:19 AM, in how do you pronounce gui? Link
Originally posted by beneficii
Originally posted by sloat
I've always pronounced it Gooey.




And I've always pronounced it, Gee You Eye.


Technically, I'd consider that spelling it out.

For the record though, I pronounce it gooey.


(edited by Ramsus on 07-24-05 05:21 PM)
Ramsus

Octoballoon
Level: 19

Posts: 153/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 07-30-05 11:24 PM, in NULL Pointers Link
When used as a pointer value in C, the constant 0 is always considered NULL according to the language's standard, not the actual memory address 0. In fact, the system can use any value it wants to represent a NULL pointer and the constant 0 will always be equivalent to it in any pointer context (e.g. assignment to a pointer variable).

If you're doing system-specific C code and store pointer addresses in something not a pointer, like an integer, you'll need to typecast 0 as (void *) in order to store an actual NULL value.
Ramsus

Octoballoon
Level: 19

Posts: 154/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-19-05 03:46 PM, in Comics Link
I'm having something of a dry spell at the moment when it comes to comic strip ideas, so I've been focusing on photography. However, I'm going to try easing into doing black and white comics on a regular basis. After all, every moment I spend not drawing is a moment in which my ability to draw doesn't improve.

So here we go:


The script lacks punch and is way too cliché. The backgrounds are incomplete. It could also use a few more panels of squirrel force action leading up to the big line to clear up what's happening, especially in the first squirrel panel. The last panel also has a bit too much white space. At the very least, I could've added speedlines.

More to come.
Ramsus

Octoballoon
Level: 19

Posts: 155/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-20-05 02:01 AM, in Comics Link
Thanks. I'm going to go for quantity though, and I don't have time for coloring them. That means these are going to be the final drafts, although the better the idea, the more drafts I'll probably do of it.

EDIT: another comic, Feral Cat



I rehashed idea from an editorial cartoon I did in March, but it ended up too much like an Azumanga Daioh kitty gag.


(edited by Ramsus on 08-19-05 07:29 PM)
Ramsus

Octoballoon
Level: 19

Posts: 156/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-20-05 10:16 PM, in Cookies across sites Link
In that case, the HTTP request to siteone.com/foo.php should just include the cookie from the same domain (siteone.com), since all files are all separate HTTP requests to begin with, even if they're images included in the HTML.
Ramsus

Octoballoon
Level: 19

Posts: 157/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-20-05 10:35 PM, in Relative positioning in Firefox Link
So what's your layout supposed to look like? In other words, what are you trying to accomplish? I'd look at it myself, but I don't have a PC.

My guess, since you're using relative positioning with percentages, is that you're using the wrong tool for the job.
Ramsus

Octoballoon
Level: 19

Posts: 158/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-22-05 12:41 AM, in Comics Link
Originally posted by Cardinal Fang
Never, EVER, go for quantity over quality when making comics. While your lineart is very good, the jokes just aren't all that good or funny.

Try getting a writer if you ever seriously consider doing comics. It would help a lot.


You don't work your way out of writer's block by just sitting around until your head starts bleeding and you die.

You also can't figure out what works and what doesn't if you don't try a lot of things, even with the jokes. Besides, the magic difference between what you see here and what you see with great comics is that the ideas for great comics came from pools of less great ideas that were edited down until the best idea remained.

So never, EVER, give that advice again to anyone who's just exploring ideas and working on art skills (aka PRACTICING). It's counterproductive.
Ramsus

Octoballoon
Level: 19

Posts: 159/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-22-05 04:27 AM, in Comics Link
Originally posted by Peardian
This is a really stupid question, but does the cat explode?


Yeah, I looked at it again ten minutes after finishing it and asked myself the same question. I think it works better for jokes like that if you just skip the action, meaning the last panel should really be just a scratched up guy looking shocked with no cat in sight.
Ramsus

Octoballoon
Level: 19

Posts: 160/162
EXP: 34651
For next: 1126

Since: 01-24-05
From: United States

Since last post: 39 days
Last activity: 71 days
Posted on 08-22-05 10:13 AM, in Comics Link
Originally posted by Teddylot
If you want to get better, then you need constructive criticism ... thus, me.

Alright, I'll do this one comic at a time 'cause I have a lot to say. (Note: This is actually a good thing, since I don't comment on hopeless cases. =P )

Comic Number One:

Your lineart is alright ... but only half of the time. It seems to me that you're not putting in the same amount of effort in the second half of the strip as you are in the first half, where the main subjects are much cleaner and more recognizable. The squirrels don't stand out, ending up blending in with the background. The entire second half of the page looks like a sketch. Very unclean and very unfinished.

The comic is also missing a key artistic principal. That is, when an object is closer to the viewer, its details are very prominent and the lineart is generally thicker than the subjects further away from the viewer. So the tree in the first panel should be more prominent than the general background and the subjects. Of course, you wouldn't want to take away the emphasis you have on the subjects. (Let's say we're working without word balloons at the moment because they generally act as focal pointers. =P )
So, you'd want to dilute the foreground while still sticking to your perspective rules. There's a photography trick to this called a "short depth of field," where there's an object on the field that isn't in focus. In your case, you'd want to focus on only your subjects and not the foreground. Unless you use a few photoshop tricks or color, there's no way to keep the foreground out of focus; thus, you use grey tones. You know them, you love them, you see them in manga all the time. When you apply grey tones to the foreground and the background, the focal point ends up being the pure white of your subjects. Ta-da. Simple solution.

Grey tones are also useful to making your artwork more interesting. Your lineart is boring and ends up being a real turn off to the reader. One point of comics is to use the artwork to attract readers. Unfortunaely, yours doesn't do just that. Cleaning up your lineart, giving it a more professional look, more contrast, and better storytelling will fix that right up quick. Of course, this look comes from more practice and study of other kinds of art forms, drawing styles, and great storytellers. I'm doing that myself, actually ...

Next topic: the writing. Needs work. >.< The joke is dreadfully old, predictable, and has been abused to a point where it, even with a new twist, will get a seriously annoyed groan from me on a bad day. On a good day, I'd just gleefully numb my mind and pretend like it never happened. =o

Like you practice drawing, you should also intensive writing practice. Don't stop at just one punchline; come up with a dozen, then pick the funniest. Try to come up with your own funny and not somebody else's. If "teh funny" isn't your thing and you fail hard at it, try out some sort of amazing adventure tale with a great bunch of characters that people can really get attached to. Remember to try and come up with original stuff. This also comes with practice, so you ought to not only draw daily, but to write daily as well.

Or you could hire a writer.

My contact number is in my profile.

Don't rule out your idea just yet 'cause even a bad idea can be saved with some good execution, good storytelling. Storytelling is basically how you present your comic ... umm, much like how a producer/director presents a movie. It helps make the comic interesting and it also gives the writing some sort of flow.

Let's take the first panel as an example. Why would the boy wonder what it would be like to be a squirrel? Maybe he saw one in your little foreground tree I talked about so much. So maybe you'd want to extend the panel so that it'd include another squirrely subject. It looks like any other normal squirrel, running around on the branch, and it's just enough to get the kid to ask the question.

Furthermore, let's nullify that time box you have up there. Let's extend the branch and have the question-instigating squirrel running into battle with the dreaded Darth Squirrel. Add on to the cooler looking fight scene you have going on ... extend it out if you want a longer comic or keep it simple. Blah blah blah ...

Storytelling is also the viewpoints you offer the reader and is key to making the comic more readable and interesting. I've taken two courses in photography, and it has definitely given me a lot of experience in setting up a scene. I take the principals I learn from the classes and apply them to my own comic storytelling. Reader perspective is something you gain from a class like photography. Giving you the ability to pick out the interesting from the boring and be able to draw an "active" panel. Those last three panels really need the creative juice. The third panel is supposed to look menacing; the fourth panel shouldn't just be our super squirrel, but should also have Darth Squirrel in there as he is part of the action; and the last panel, in the pure art of parody, should take on a same angle of the real shot in the Star Wars movie.

That's all for now.

I'll get to your second comic later ... and when I say later, I mean never. So you'll have to bribe or blackmail or beat me badly enough to get the second critique out of me. Good luck.

Note: Don't give up. It at least has something going for it, and that is ... the characters in the first panels. =O

*dead*


Nice, but next time use bulleted lists and separate your major points more. With that much information, it'd be a lot easier to digest.
Pages: 1 2 3 4 5 6 7 8 9
Acmlm's Board - I2 Archive - - Posts by Ramsus


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.014 seconds.