Changeset 585


Ignore:
Timestamp:
Jan 25, 2011, 6:18:05 PM (11 years ago)
Author:
gumby
Message:

Getting there. Throws still rarely crash and classes aren't synced.

Location:
Daodan/MSVC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Daodan/MSVC/Flatline.c

    r584 r585  
    44#include "Flatline_Server.h"
    55#include "Flatline_Events.h"
     6#include "Daodan_Utility.h"
    67#include <Windows.h>
    78//#include <sys/time.h>
     
    295296                input_packet.id = PLAYER_INPUT;
    296297                input_packet.input_struct.Time = ONgGameState->GameTime;
    297                 input_packet.input_struct.Actions1 = ((GameState*)(ONgGameState))->Input.Current.Actions1;
    298                 input_packet.input_struct.Actions2 = ((GameState*)(ONgGameState))->Input.Current.Actions2;
    299                 input_packet.input_struct.MouseDeltaX = ((GameState*)(ONgGameState))->Input.MouseDeltaX;
    300                 input_packet.input_struct.MouseDeltaY = ((GameState*)(ONgGameState))->Input.MouseDeltaY;
     298                input_packet.input_struct.Actions1 = ONgGameState->Input.Current.Actions1;
     299                input_packet.input_struct.Actions2 = ONgGameState->Input.Current.Actions2;
     300                input_packet.input_struct.MouseDeltaX = ONgGameState->Input.MouseDeltaX;
     301                input_packet.input_struct.MouseDeltaY = ONgGameState->Input.MouseDeltaY;
    301302
    302303                sent_bytes = NetUDPSocket_Send(client_sock,(sockaddr *) &address, (char*)&input_packet, sizeof(input_struct) + FLATLINE_HEADER);
     
    331332                if(PlayerList[i] == 0) continue;
    332333               
     334
     335
    333336                Player = PlayerList[i]->Chr;
    334337                Active_Player = ONrGetActiveCharacter( PlayerList[i]->Chr);
     
    421424                if(Active_Player == 0) continue;
    422425
     426               
     427                if(client_connected) {
     428                        Active_Player->PlayingFilm.Flags = 1;
     429                }
     430
     431
    423432                if( client_connected && DoWeUpdateThis( PlayerList[i]->UpdateFlags, PFlag_Position) )
    424433                {
     
    443452                                //TODO: Check age of animation
    444453                                ///////////////////////////////////
    445 
     454                                DDrConsole_PrintF("Changing animation from %s to %s",
     455                                        TMrInstance_GetInstanceName( Active_Player->Animation ),
     456                                        TMrInstance_GetInstanceName( PlayerList[i]->Animation ) );
    446457                                // set the characters animation
    447458                                /*ONrCharacter_SetAnimationInternal(Player,
     
    449460                                Active_Player->AnimationToState,
    450461                                0,
    451                                 Animation);*/
     462                                PlayerList[i]->Animation);*/
    452463                                //ONrCharacter_NewAnimationHook(Player, Active_Player);
    453                                 ONrCharacter_SetAnimationExternal(Player, TRrAnimation_GetFrom(PlayerList[i]->Animation), PlayerList[i]->Animation, 0);
     464                                ONrCharacter_SetAnimationExternal(Player, TRrAnimation_GetFrom(PlayerList[i]->Animation), PlayerList[i]->Animation, 1);
    454465                                //ONrCharacter_NewAnimationHook(Player, Active_Player);
    455466                        }
     
    520531                                                {
    521532                                                        Target->Frame += 2;
    522                                                         Target->thrownBy = Player->Number;
     533                                                        DDrConsole_PrintF("Thrown by player %hi", Player->Number );
     534                                                        DDrStartupMessage("Thrown by player %hi", Player->Number );
     535                                                        Target->thrownBy = Player->Number & 0x00ff;
    523536                                                }
    524537                                        }
     
    535548                PlayerList[i]->UpdateFlags &= ~( 1 << PFlag_Throws );
    536549
    537                 //Active_Player->PlayingFilm.Flags = 1;
    538550                Active_Input = &(Active_Player->Input);
    539551
  • Daodan/MSVC/Flatline_Client.c

    r584 r585  
    7373
    7474
    75                                         //DDrPatch_Byte(0x04ED6FB, 0xEB);
     75                                        DDrPatch_Byte(0x04ED6FB, 0xEB);
    7676
    7777                                        //DDrConsole_PrintF("Slot %i",  ((connect_reply*)packet)->player_slot);
  • Daodan/MSVC/Flatline_PacketBuilder.c

    r584 r585  
    3232        {
    3333                memcpy( DataPointer, &PI->InputFromClient, sizeof(PlayerInput));
    34                 PI->InputFromClient = PI->Input;
     34                PI->Input = PI->InputFromClient;
    3535
    3636                FLAG_AND_INCREMENT( PFlag_Input );
     
    9999        if(APlayer)
    100100        {
    101                 if( memcmp(&PI->Position, &APlayer->PhyContext->Position, sizeof(Vector3)) )
     101                if( (APlayer->PhyContext) && memcmp(&PI->Position, &APlayer->PhyContext->Position, sizeof(Vector3)) )
    102102                {
    103103                        Vector3* ptr = (Vector3*)DataPointer;
     
    109109                if(APlayer->Animation != PI->Animation)
    110110                {
    111                         sprintf_s( DataPointer, 32, "%s", TMrInstance_GetInstanceName( PI->Animation ) );
     111                        sprintf_s( DataPointer, 32, "%s", TMrInstance_GetInstanceName( APlayer->Animation ) );
    112112                        PI->Animation = APlayer->Animation;
    113113                       
     
    137137        }
    138138       
    139         PD->Size = (char)DataPointer - (char)PD;
     139        PD->Size = (uint32_t)DataPointer - (uint32_t)PD;
    140140
    141141        PI->UpdateFlags = PD->UpdateFlags;     
     
    168168                        assert( BuildData[p].Size < 255 );
    169169                       
    170                         //If we hit maximum size, send the packet and reset the buffer for a new one
    171                         if( BuildData[p].Size + PacketSize > max_packet_size )
     170                        if( BuildData[p].Size > 0 )
    172171                        {
    173                                 UDPServer_SendToAll(&OutputPacket, PacketSize + FLATLINE_HEADER);
    174                        
    175                                 memset( OutputPacket.data, 0, PacketSize );
    176                                 OutputPointer = OutputPacket.data;
    177                                 PacketSize = 0;
     172
     173                                //If we hit maximum size, send the packet and reset the buffer for a new one
     174                                if( BuildData[p].Size + PacketSize > max_packet_size )
     175                                {
     176                                        UDPServer_SendToAll(&OutputPacket, PacketSize + FLATLINE_HEADER);
     177
     178                                        memset( OutputPacket.data, 0, PacketSize );
     179                                        OutputPointer = OutputPacket.data;
     180                                        PacketSize = 0;
     181                                }
     182
     183                                //add to the packet
     184                                memcpy( OutputPointer, &BuildData[p], BuildData[p].Size );
     185
     186                                OutputPointer += BuildData[p].Size;
     187                                PacketSize += BuildData[p].Size;
    178188                        }
    179                        
    180                         //add to the packet
    181                         memcpy( OutputPointer, &BuildData[p], BuildData[p].Size );
    182                        
    183                         OutputPointer += BuildData[p].Size;
    184                         PacketSize += BuildData[p].Size;
    185189                }
    186190        }
Note: See TracChangeset for help on using the changeset viewer.