Page 8 of 9

Posted: Wed Feb 07, 2007 5:10 pm
by Veleran
In multiplayer we can use extra indicator color on the radar,showing where the human players are.

Posted: Sat Feb 17, 2007 1:24 am
by jonas
in trying to compile rf I finally got it to compile almost all the way jit just gets some errors in the linking process.j

Code: Select all

Generating Code...

Linking...

   Creating library ..\RealityFactoryD.lib and object ..\RealityFactoryD.exp

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__DialogBoxParamA@20 referenced in function _DrvList_PickDriver

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__EndDialog@8 referenced in function _DlgProc@16

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function _DlgProc@16

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__UpdateWindow@4

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__SetWindowPos@28 referenced in function _DlgProc@16

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__SetWindowPos@28

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__GetWindowRect@8 referenced in function _DlgProc@16

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__GetWindowRect@8

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__GetDesktopWindow@0 referenced in function _DlgProc@16

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__GetDesktopWindow@0

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__ReleaseDC@8 referenced in function _DlgProc@16

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__SendDlgItemMessageA@20 referenced in function _DlgProc@16

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__GetDC@4 referenced in function _DlgProc@16

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__GetDlgItem@8 referenced in function _DlgProc@16

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__SetFocus@4 referenced in function _ResetMainWindow

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _ResetMainWindow

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__ShowWindow@8

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__AdjustWindowRect@12 referenced in function _ResetMainWindow

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__SetWindowLongA@12 referenced in function _ResetMainWindow

AutoSelect.obj : error LNK2019: unresolved external symbol __imp__GetWindowLongA@8 referenced in function _ResetMainWindow

CWeapon.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CLevelController.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CMenu.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CPawnLow.obj : error LNK2019: unresolved external symbol __imp__GetAsyncKeyState@4 referenced in function "public: virtual bool __thiscall ScriptedObject::getValue(class skString const &,class skString const &,class skRValue &)" (?getValue@ScriptedObject@@UAE_NABVskString@@0AAVskRValue@@@Z)

CAnimGif.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CAVIPlayer.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CCommonData.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CInput.obj : error LNK2001: unresolved external symbol __imp__GetAsyncKeyState@4

CAnimGif.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageA@4 referenced in function "public: int __thiscall CAnimGif::Play(int,int,bool)" (?Play@CAnimGif@@QAEHHH_N@Z)

CAVIPlayer.obj : error LNK2001: unresolved external symbol __imp__DispatchMessageA@4

CMenu.obj : error LNK2001: unresolved external symbol __imp__DispatchMessageA@4

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__DispatchMessageA@4

CAnimGif.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function "public: int __thiscall CAnimGif::Play(int,int,bool)" (?Play@CAnimGif@@QAEHHH_N@Z)

CAVIPlayer.obj : error LNK2001: unresolved external symbol __imp__TranslateMessage@4

CMenu.obj : error LNK2001: unresolved external symbol __imp__TranslateMessage@4

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__TranslateMessage@4

CAnimGif.obj : error LNK2019: unresolved external symbol __imp__GetMessageA@16 referenced in function "public: int __thiscall CAnimGif::Play(int,int,bool)" (?Play@CAnimGif@@QAEHHH_N@Z)

CAVIPlayer.obj : error LNK2001: unresolved external symbol __imp__GetMessageA@16

CMenu.obj : error LNK2001: unresolved external symbol __imp__GetMessageA@16

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__GetMessageA@16

CAnimGif.obj : error LNK2019: unresolved external symbol __imp__PeekMessageA@20 referenced in function "public: int __thiscall CAnimGif::Play(int,int,bool)" (?Play@CAnimGif@@QAEHHH_N@Z)

CAVIPlayer.obj : error LNK2001: unresolved external symbol __imp__PeekMessageA@20

CMenu.obj : error LNK2001: unresolved external symbol __imp__PeekMessageA@20

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__PeekMessageA@20

CPawnLow.obj : error LNK2019: unresolved external symbol __imp__ShowCursor@4 referenced in function "public: bool __thiscall ScriptedObject::lowmethod(class skString const &,class skRValueArray &,class skRValue &,class skExecutableContext &)" (?lowmethod@ScriptedObject@@QAE_NABVskString@@AAVskRValueArray@@AAVskRValue@@AAVskExecutableContext@@@Z)

RabidFrameworkMain.obj : error LNK2001: unresolved external symbol __imp__ShowCursor@4

CCommonData.obj : error LNK2001: unresolved external symbol __imp__ShowCursor@4

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__ShowCursor@4

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__ShowCursor@4

CPawnHigh.obj : error LNK2001: unresolved external symbol __imp__ShowCursor@4

CStaticMesh.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

RabidFrameworkMain.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

qxTerrainMgr.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CPawn.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CPlayer.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CSpout.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CEffects.obj : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function "public: __thiscall CPreEffect::CPreEffect(void)" (??0CPreEffect@@QAE@XZ)

CGenesisEngine.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CInventory.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CMenu.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__DefWindowProcA@16 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__DestroyWindow@4 referenced in function "public: __thiscall CGenesisEngine::CGenesisEngine(bool,int,int,char *,struct HINSTANCE__ *,char,bool,bool,char *)" (??0CGenesisEngine@@QAE@_NHHPADPAUHINSTANCE__@@D001@Z)

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__CreateWindowExA@48 referenced in function "public: __thiscall CGenesisEngine::CGenesisEngine(bool,int,int,char *,struct HINSTANCE__ *,char,bool,bool,char *)" (??0CGenesisEngine@@QAE@_NHHPADPAUHINSTANCE__@@D001@Z)

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__RegisterClassA@4 referenced in function "public: __thiscall CGenesisEngine::CGenesisEngine(bool,int,int,char *,struct HINSTANCE__ *,char,bool,bool,char *)" (??0CGenesisEngine@@QAE@_NHHPADPAUHINSTANCE__@@D001@Z)

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__LoadCursorA@8 referenced in function "public: __thiscall CGenesisEngine::CGenesisEngine(bool,int,int,char *,struct HINSTANCE__ *,char,bool,bool,char *)" (??0CGenesisEngine@@QAE@_NHHPADPAUHINSTANCE__@@D001@Z)

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__LoadIconA@8 referenced in function "public: __thiscall CGenesisEngine::CGenesisEngine(bool,int,int,char *,struct HINSTANCE__ *,char,bool,bool,char *)" (??0CGenesisEngine@@QAE@_NHHPADPAUHINSTANCE__@@D001@Z)

CGenesisEngine.obj : error LNK2019: unresolved external symbol __imp__GetOpenFileNameA@4 referenced in function "public: __thiscall CGenesisEngine::CGenesisEngine(bool,int,int,char *,struct HINSTANCE__ *,char,bool,bool,char *)" (??0CGenesisEngine@@QAE@_NHHPADPAUHINSTANCE__@@D001@Z)

CInput.obj : error LNK2019: unresolved external symbol __imp__GetSystemMetrics@4 referenced in function "public: void __thiscall CInput::Default(void)" (?Default@CInput@@QAEXXZ)

CLevelController.obj : error LNK2001: unresolved external symbol __imp__GetSystemMetrics@4

CMenu.obj : error LNK2001: unresolved external symbol __imp__GetSystemMetrics@4

CPawnLow.obj : error LNK2001: unresolved external symbol __imp__GetSystemMetrics@4

CPlayer.obj : error LNK2019: unresolved external symbol __imp__GetCursorPos@4 referenced in function "public: void __thiscall CPlayer::Tick(float)" (?Tick@CPlayer@@QAEXM@Z)

CMenu.obj : error LNK2001: unresolved external symbol __imp__GetCursorPos@4

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__GetCursorPos@4

CPawnHigh.obj : error LNK2001: unresolved external symbol __imp__GetCursorPos@4

CPawnLow.obj : error LNK2001: unresolved external symbol __imp__GetCursorPos@4

CPlayer.obj : error LNK2019: unresolved external symbol __imp__ClientToScreen@8 referenced in function "public: void __thiscall CPlayer::Tick(float)" (?Tick@CPlayer@@QAEXM@Z)

RabidFrameworkMain.obj : error LNK2001: unresolved external symbol __imp__ClientToScreen@8

CMenu.obj : error LNK2001: unresolved external symbol __imp__ClientToScreen@8

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__ClientToScreen@8

CPawnHigh.obj : error LNK2001: unresolved external symbol __imp__ClientToScreen@8

CPawnLow.obj : error LNK2001: unresolved external symbol __imp__ClientToScreen@8

CPlayer.obj : error LNK2019: unresolved external symbol __imp__GetClientRect@8 referenced in function "public: void __thiscall CPlayer::Tick(float)" (?Tick@CPlayer@@QAEXM@Z)

RabidFrameworkMain.obj : error LNK2001: unresolved external symbol __imp__GetClientRect@8

CMenu.obj : error LNK2001: unresolved external symbol __imp__GetClientRect@8

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__GetClientRect@8

CPawnHigh.obj : error LNK2001: unresolved external symbol __imp__GetClientRect@8

CPawnLow.obj : error LNK2001: unresolved external symbol __imp__GetClientRect@8

RabidFrameworkMain.obj : error LNK2001: unresolved external symbol __imp__SetCursorPos@8

CMenu.obj : error LNK2019: unresolved external symbol __imp__SetCursorPos@8 referenced in function "public: void __thiscall CRFMenu::GameLevel(void)" (?GameLevel@CRFMenu@@QAEXXZ)

CPawnCon.obj : error LNK2001: unresolved external symbol __imp__SetCursorPos@8

CPawnLow.obj : error LNK2001: unresolved external symbol __imp__SetCursorPos@8

CPlayer.obj : error LNK2001: unresolved external symbol __imp__SetCursorPos@8

CMenu.obj : error LNK2019: unresolved external symbol __imp__SetTimer@16 referenced in function "public: void __thiscall CRFMenu::DoGame(bool)" (?DoGame@CRFMenu@@QAEX_N@Z)

CMp3.obj : error LNK2019: unresolved external symbol __imp__SendMessageA@16 referenced in function "public: __thiscall CMp3Manager::~CMp3Manager(void)" (??1CMp3Manager@@QAE@XZ)

..\RealityFactoryD.exe : fatal error LNK1120: 36 unresolved externals

Creating browse information file...

Microsoft Browse Information Maintenance Utility Version 8.00.50727

Copyright (C) Microsoft Corporation. All rights reserved.

Build log was saved at "file://c:\rf source\Debug\BuildLog.htm"

RGF - 98 error(s), 55 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Looks like something to do with platform sdk. I can only find one platform sdk..... is there more then one and I got the wrong one? It doesn't say anything about a missing header or library so I'm assuming I got all the paths set up correctly. Any ideas?

Posted: Sat Feb 17, 2007 2:28 pm
by QuestOfDreams
If you get such linking errors it means that the compiler does not find the correct library which provides these functions.
Did you follow all these steps when setting up the PSDK?
http://msdn.microsoft.com/vstudio/expre ... fault.aspx

Posted: Sun Feb 18, 2007 5:28 am
by jonas
I believe so but I will reverify, that all the steps were done.

Posted: Sun Feb 18, 2007 6:48 am
by jonas
Really great news! It worked!!!!!!!!!!!!! looks like I missed step 4 in that platform sdk guide. This is great. Thanks for the help Quest.

Posted: Mon Mar 26, 2007 7:56 pm
by jonas
ok I'm starting back up on this. I formated my computer and repartitioned it so I could play around with a couple of different linux distros and not have to keep resizing my windows partition every time I added another one. So here I go.

Posted: Wed Apr 04, 2007 9:12 pm
by darksmaster923
any headway on this project?

Posted: Mon Apr 16, 2007 2:47 am
by zany_001
were is multiplayer on the rf1 dev list?

Posted: Mon Apr 16, 2007 3:39 pm
by jonas
Its toward the top as far as I'm concerned. I have just got past a couple of hardware issues. Now I have 2 pc's to test multiplayer on. But then comes another problem.. I don't have a router to hook them both into atm, so I have to get a crossover cable to link the 2 machines together and hope that works.

Some of the things I plan on putting in:
Showing weapons for opponents.
Bullets along with explosions.
Pawn scripting in sync.
Attributes will be able to be picked up by everyone.


I have a few more I plan to put in after those are completed.

Any ideas for pawn scripting? I was thinking maybe a command in the top of a script that makes it be ran by the host and the host sends all the data. That could possibly slow stuff down, but that's the only way I'm seeing.

Posted: Mon Apr 16, 2007 6:29 pm
by scott
you say you dont have a router, do they both have wireless capabilities then as there could be anothe soloution to this.

Posted: Mon Apr 16, 2007 7:09 pm
by jonas
Nope neither pc I'm using has wireless. My laptop has wireless but it and rf don't seem to see eye to eye. I tried a connection sharing deal and put 2 ethernet cards in one pc and tried bridging the connection, and sharing connection between them but for some reason it didn't seem to work. So I've resorted to a cross-over cable. I got a couple of cables and I'm going to attempt to make one...... I hope it works.

Posted: Tue Apr 17, 2007 12:23 am
by darksmaster923
i just realized something.... how can you make PvP games ans stuff

Posted: Tue Apr 17, 2007 7:58 am
by jonas
when you say PvP you mean player versus player right? Yes Player versus player will be available just by simply connecting to the host. More advance stuff will probably be added after everything works correctly.

I was finally able to get a cross-over cable made. I think my first cable was bad to start with....... lol Then with a little adjusting I have both computers linked. So now I will begin on the coding. I will be going on a trip so I might not get to work on it very much till next weekend.

Posted: Tue Jun 05, 2007 3:42 pm
by jonas
Well.... I've been working on this for off and on for 2 or 3 months now, and I can't even get it the weapons to show up on the players. :shock:
This looked pretty promising...

Code: Select all

CCD->Weapons()->DisplayThirdPerson(Player[index]->id);
But it didn't work :? I've stayed up most of the night trying to figure it out. :? Any suggestions?

Posted: Tue Jun 05, 2007 8:38 pm
by Jay
i've just looked at the definition of the NetPlayer:

Code: Select all

class NetPlayer
{
public:
	NetPlayer();
	~NetPlayer();

	void Create(char *actorname);
	int GetId()											{ return Id;						}
	void SetId(int id)									{ Id = id;							}
	void SetBaseRotation(const geVec3d &Rotation)		{ BaseRotation = Rotation;			}
	void SetlocalRotation(const geVec3d &Rotation)		{ localRotation = Rotation;			}
	void SetlocalTranslation(const geVec3d &Translation){ localTranslation = Translation;	}

public:
	geActor *Actor;
	char ActorName[128];
	char Animation[128];
// changed QD 02/01/07
	char PlayerName[64];
	float Scale;
// end change
	float AnimTime;
	int Id;
	geVec3d localTranslation;
	geVec3d localRotation;	
	geVec3d oldTranslation;
	geVec3d oldRotation;	
	geVec3d BaseRotation;

private:

};
I think Id refers to 'IdentificationNumber' of the Player. Has nothing to do with the weapons. I would say you have to add a new geActor* variable for the weapon and then use it like the pawn weapons are used...

Code: Select all

class NetPlayer 
{ 
public: 
   NetPlayer(); 
   ~NetPlayer(); 

   void Create(char *actorname); 
   int GetId()                                 { return Id;                  } 
   void SetId(int id)                           { Id = id;                     } 
   void SetBaseRotation(const geVec3d &Rotation)      { BaseRotation = Rotation;         } 
   void SetlocalRotation(const geVec3d &Rotation)      { localRotation = Rotation;         } 
   void SetlocalTranslation(const geVec3d &Translation){ localTranslation = Translation;   } 

public: 
   geActor *Actor; 
   geActor *WeaponActor; //change here
   char ActorName[128]; 
   char Animation[128]; 
// changed QD 02/01/07 
   char PlayerName[64]; 
   float Scale; 
// end change 
   float AnimTime; 
   int Id; 
   geVec3d localTranslation; 
   geVec3d localRotation;    
   geVec3d oldTranslation; 
   geVec3d oldRotation;    
   geVec3d BaseRotation; 

private: 

};
you might have a look at the CPawn.cpp for the weapon rendering.
that may be a start. Just a question: are the projectiles shown in the other player's views?