ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSVC/Flatline_Server.c
(Generate patch)

Comparing Daodan/MSVC/Flatline_Server.c (file contents):
Revision 578 by gumby, Wed Jan 12 18:47:16 2011 UTC vs.
Revision 579 by gumby, Thu Jan 13 01:02:52 2011 UTC

# Line 123 | Line 123 | int UDPServer_SendToAll(void* packet, in
123          return players;
124   }
125  
126 + //FLsPublic_Event
127   //Sends an event (door opening, player disconnecting, etc) to all players
128   //Always make sure you send a pointer to this, even if it is just one arg. ;)
129 < void FLsPublic_Event( unsigned int eventIndex, int * args )
129 > //Returns 0 because mixing C and assembly is stupid.
130 > //If it is void the double door in State crashes. Probably stack corruption,
131 > //I'm not sure exactly why.
132 > int FLsPublic_Event( const unsigned int eventIndex, const int * args )
133   {
134          int numArgs = FLrEvent_GetNumArgs( eventIndex );
135 +        int ret;
136          flatline_packet eventPacket = {0};
137          eventPacket.id = FLATLINE_EVENT;
138          eventPacket.flatline_event.event_index = eventIndex;
139 <        memcpy( eventPacket.flatline_event.intArray, args, sizeof(int) * numArgs );
140 <        UDPServer_SendToAll( &eventPacket, sizeof(int) * (numArgs + 1) + FLATLINE_HEADER );
139 >        ret = memcpy( eventPacket.flatline_event.intArray, args, sizeof(int) * numArgs );
140 >        ret = UDPServer_SendToAll( &eventPacket, sizeof(int) * (numArgs + 1) + FLATLINE_HEADER );
141 >        return 0;
142   }
143  
138 void PlayerDisconnect( int Player )
139 {
140        FLsPublic_Event(EV_DISCONNECT, &Player );
141        memset(PlayerList[Player], 0, sizeof(player_info));
142        return;
143 }

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)