|
|
Re: Problem with parameters when calling a function
[Re: EvilSOB]
#258036
03/27/09 09:38
03/27/09 09:38
|
Joined: Jan 2005
Posts: 605 Deutschland, NRW
garv3
OP
User
|
OP
User
Joined: Jan 2005
Posts: 605
Deutschland, NRW
|
Well, the problem I'm facing is really strange. The error MUST be caused by the function call. I'm sure because the compiler says so and if I change...
function gegner_anvisieren(var luft_oder_boden){ to function gegner_anvisieren(){
and
if(mein_anvisier_ziel_ptr.gegner_luft_oder_boden != luft_oder_boden) to if(mein_anvisier_ziel_ptr.gegner_luft_oder_boden != 1)
and call the function withou a parameter, everything works fine. So the function its self is fine. Just calling it using a parameter leads to a compiler error.
Last edited by garv3; 03/27/09 09:39.
GameStudio Version: A7 Pro v7.86
|
|
|
Re: Problem with parameters when calling a function
[Re: garv3]
#258041
03/27/09 10:00
03/27/09 10:00
|
Joined: Apr 2005
Posts: 4,506 Germany
fogman
Expert
|
Expert
Joined: Apr 2005
Posts: 4,506
Germany
|
What happens when you do
gegner_anvisieren(1);
?
no science involved
|
|
|
Re: Problem with parameters when calling a function
[Re: fogman]
#258042
03/27/09 10:20
03/27/09 10:20
|
Joined: Jan 2005
Posts: 605 Deutschland, NRW
garv3
OP
User
|
OP
User
Joined: Jan 2005
Posts: 605
Deutschland, NRW
|
Same error! Tried that before.
GameStudio Version: A7 Pro v7.86
|
|
|
Re: Problem with parameters when calling a function
[Re: garv3]
#258059
03/27/09 13:49
03/27/09 13:49
|
Joined: Feb 2008
Posts: 3,232 Australia
EvilSOB
Expert
|
Expert
Joined: Feb 2008
Posts: 3,232
Australia
|
Hmmm. Can you post a copy/paste of ALL the defines in that source-file?
The whole source-file would be better of course.
"There is no fate but what WE make." - CEO Cyberdyne Systems Corp. A8.30.5 Commercial
|
|
|
Re: Problem with parameters when calling a function
[Re: EvilSOB]
#258073
03/27/09 15:04
03/27/09 15:04
|
Joined: Jan 2005
Posts: 605 Deutschland, NRW
garv3
OP
User
|
OP
User
Joined: Jan 2005
Posts: 605
Deutschland, NRW
|
Well, the defines are placed in another file that is included. The whole File would be pretty huge. If you want all the code... well that's serveral thousand lines. And at this time I don't want to make it all public. Currently I'm at work. When I'm back home, I'll post you some code that may help.
Thx anyway!
GameStudio Version: A7 Pro v7.86
|
|
|
Re: Problem with parameters when calling a function
[Re: garv3]
#258135
03/27/09 21:50
03/27/09 21:50
|
Joined: Jan 2005
Posts: 605 Deutschland, NRW
garv3
OP
User
|
OP
User
Joined: Jan 2005
Posts: 605
Deutschland, NRW
|
So here's some code of main.c [...]
#include "defines.c"
[...]
#include "funktionen_einheiten.c"
#include "aktionen_einheiten.c"
[...] Here some of the defines from defines.c [...]
#define organisch 1
#define mechanisch 2
#define boden 1
#define luft 2
[...] This is from aktionen_einheiten.c [...]
action EoR_aktion(){
[...]
gegner_anvisieren(boden);
[...]
}
[...]
And this is the function in funktionen_einheiten.c [...]
function gegner_anvisieren(var luft_oder_boden){
VECTOR temp;
ENTITY* mein_anvisier_ziel_ptr;
var mein_anvisier_ziel[3];
while(me){
if(my.einheiten_anvisierter_gegner != NULL && my.einheiten_status == bereit){
if (ptr_for_handle(my.einheiten_anvisierter_gegner) != NULL && mein_anvisier_ziel_ptr != ptr_for_handle(my.einheiten_anvisierter_gegner)){
mein_anvisier_ziel_ptr = ptr_for_handle(my.einheiten_anvisierter_gegner);
if(mein_anvisier_ziel_ptr.gegner_luft_oder_boden != luft_oder_boden)
mein_anvisier_ziel_ptr = NULL;
}
if(mein_anvisier_ziel_ptr != NULL){
vec_set(temp, vector(mein_anvisier_ziel_ptr.x,mein_anvisier_ziel_ptr.y,mein_anvisier_ziel_ptr.z+mein_anvisier_ziel_ptr.gegner_hoehe/2));
vec_sub(temp, vector(my.x,my.y,my.z+my.einheiten_hoehe));
effect_local(anvisier_effekt, 1, vector(my.einheiten_anvisierlaser_start_x,my.einheiten_anvisierlaser_start_y,my.einheiten_anvisierlaser_start_z), temp);
}
if (ptr_for_handle(my.einheiten_anvisierter_gegner) == NULL){
my.einheiten_anvisierter_gegner = NULL;
mein_anvisier_ziel_ptr = NULL;
}
}else{
mein_anvisier_ziel_ptr = NULL;
}
wait(1);
}
}
[...]Any ideas?
GameStudio Version: A7 Pro v7.86
|
|
|
Re: Problem with parameters when calling a function
[Re: garv3]
#258138
03/27/09 22:14
03/27/09 22:14
|
Joined: Mar 2009
Posts: 112 Germany
KDuke
Member
|
Member
Joined: Mar 2009
Posts: 112
Germany
|
What happens if you try
var justTrying = 1;
gegner_anvisieren( justTrying);
? The idea behind this is that the engine (as I read when dealing with overloaded functions) sometimes interprets variables and values as a wrong data type. greetings K-Duke
Last edited by KDuke; 03/27/09 22:16.
Using A7 Free Click and join the 3dgs irc community! Room: #3dgs
|
|
|
Re: Problem with parameters when calling a function
[Re: KDuke]
#258140
03/27/09 22:25
03/27/09 22:25
|
Joined: Jan 2005
Posts: 605 Deutschland, NRW
garv3
OP
User
|
OP
User
Joined: Jan 2005
Posts: 605
Deutschland, NRW
|
Well ... it runs! So how may I solve this? Thx!!! EDIT: Solved it by setting the variable in the function calling gegner_anvisieren(): var luftboden;
[...]
luftboden = boden;
gegner_anvisieren(luftboden);
[...] I'm happy with that! Thank you!
Last edited by garv3; 03/27/09 22:29.
GameStudio Version: A7 Pro v7.86
|
|
|
Re: Problem with parameters when calling a function
[Re: garv3]
#258141
03/27/09 22:32
03/27/09 22:32
|
Joined: Mar 2009
Posts: 112 Germany
KDuke
Member
|
Member
Joined: Mar 2009
Posts: 112
Germany
|
Well you could exchange the defines with globals variables which hold the right value. This way you have to alter only little code. so basically you exchange with and so on. maybe you could also use typecasting: though not sure if this works.
Using A7 Free Click and join the 3dgs irc community! Room: #3dgs
|
|
|
Re: Problem with parameters when calling a function
[Re: KDuke]
#258142
03/27/09 22:37
03/27/09 22:37
|
Joined: Mar 2009
Posts: 112 Germany
KDuke
Member
|
Member
Joined: Mar 2009
Posts: 112
Germany
|
No problem... always glad to help others  greetings K-Duke
Using A7 Free Click and join the 3dgs irc community! Room: #3dgs
|
|
|
|