[CF-Devel] new generator code
crossfire-devel-admin at archives.real-time.com
crossfire-devel-admin at archives.real-time.com
Thu Sep 4 06:32:06 CDT 2003
Le Jeudi 04 Septembre 2003 07:37, Mark Wedel a écrit :
>
David Delbecq wrote:
>
>
As a note, I have no problem with the idea itself - generators being able
>
to spawn inventory makes a lot of sense. But I have some minor nits.
>
>
> --
>
> There are 2 types of generators in crossfire since september 2003.
>
> both are identified as generators by setting the flag "generate" to 1.
>
> For the first type (the classical one) use "other_arch" to specify
>
> archetype of object to be spawned.
>
> The second type allow more fine tuning on what to generate. To activate
>
> second type, set the flag "use_content_on_gen" to 1. Then each
>
> time something must be generated, it will be a copy of a randomly
>
> choosen item in the generator's inventory.
>
>
Why use such a flag at all? It'd be much better to just have code like
>
'if generator->inv, use generator->inv for object, otherwise use
>
generator->other_arch'.
Cause, simply, someone may already have created a mouse with pearls in it's
inventory or a key but mice are generators. I don't want on such map people
asking 'why does my mouse drop pearls now and don't duplicate itself?'
I dunno if self-duplicating monster with randomitems in their inventory exists
in arch or maps, but they would make sense, while stilling using the
other_arch field (inventory way does not allow infinit list of generations
unlike other_Arch way). So i implemented this the way which wouldn't have
broke the existing.
>
>
I can't see any reason why that flag is needed.
>
>
As an aside, this is a note to all developers, but things I definately
>
saw in your last two checkins:
>
>
1) Please be careful about changing whitespace unecessary. Eg, don't
>
change comments, }, or whatever else unecessarily. If you're changing the
>
code in that area, fine, but there were several occasions in the last
>
checking in which whitespace changed in code not anywhere close/related to
>
other changes. This may not seem like a big issue, until you realize that
>
other people working on the code with modified sources - it can cause
>
unnecessarily need to resolve conflicts that needs to be resolved if they
>
have modified the code.
sorry, simply seems all developpers are using differents characterisitcs for
their 'tab' key, which most of time render code unreadable cause there is a
mix of tabs and whitespace.
Most of the time when modifying a function, i redo tab indentation with <tab>
indentation. Sorry for convenience, won't do i again.
>
>
I suggest that you should always run a cvs diff on the stuff before you
>
check in - make sure there are not unnecesarily changes.
ok
>
>
2) Make sure the program compiles without warnings with some reasonable
>
strict checking - -Wall with gcc for example. There was an error in the
>
renaming code - was doing a cp==' ', when it should have been *cp - simple
>
error gcc caught. Also catches unused variables and other behaviour.
>
Did i fail to notice it? I always check for gcc warning. Seems this one was
hidding somewhere between two compilation lines.
>
>
>
>
>
_______________________________________________
>
crossfire-devel mailing list
>
crossfire-devel at lists.real-time.com
>
https://mailman.real-time.com/mailman/listinfo/crossfire-devel
_______________________________________________
crossfire-devel mailing list
crossfire-devel at lists.real-time.com
https://mailman.real-time.com/mailman/listinfo/crossfire-devel
More information about the crossfire
mailing list