Quoting Chad Simmons <[EMAIL PROTECTED]>:

--- [EMAIL PROTECTED] wrote:

1. Even though the ROM is technically written in C, and C (as specified
AFAIK) does not support default values for function arguments, if I am using
a
recent version of gcc, can I use default values for function arguments? Sort

of the same way I can use // for comments?


No, C doesn't have any ability to default function arguments. You can however
compile it as C++ with only a few changes, and then you'd have no trouble
defaulting the arguments to your function.


I want to be able to send a string to the damage() (and subsequently to
dam_message()) function to use as an arbitrary attack noun and I do not want
to have to find every call to damage() and tack a ', NULL' on the end for all
the places I'm still using the attack table/skill table damage noun.


You could do this with either a preprocessor macro, or a wrapper function. I
prefer the wrapper method as it is less likely to mess with gdb. Just take the
meat from your damage() function and move it to a new function called
custom_damage which takes all the normal arguments you'd pass to damage as
well as this new custom attack noun. Then just have your damage function call
custom_damage and pass it's args and NULL for the last one.


Thanks for the help.  I went with the wrapper method and things seem to be
working out great! Now I just need my builders to start adding these things to
weapons!  I didn't do it exactly like how you describe, I more or less just
duplicated the whole damage function and dam_message function and added my
custom bits; it occurred to me that there had to be a way to consolidate them
but it hadn't occurred to me until I read this.  I'll be changing that soon
since my fight.c file seems bloated now (~130k)


Does fread_string start reading from the place the file pointer left off or
does it read in an entire line?


All the fread functions start reading at the current position in the file
AFAIK.


Good good, with items having 10 values, in area files I'm reading in the last
value in as a string then depending on the item type I either store it in a
non-type specific char pointer or pass it through atoi and store the value in
'value[9]'.

I think it would probably be 'better' to just leave the 10 values as numbers and simply add another text field to area files... but, with OLC no one really has a need to look at the area file (except me when I forgot to save the ~ at the end of the line when I was first testing things, area file have version numbers now
so I don't have to deal with that) so I should not have to concern myself with
their format right?  Would it make any difference if the string was on its own
line as opposed to the end of another line?

Anyways, thanks a bunch and keep up the good work.

Jaagari
AnimeMUD II (pending name change)
anime2.ipupdater.net 7000





--
ROM mailing list
[email protected]
Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom

Reply via email to