Beiträge von Twice
-
-
Silkroad übersetzt seine Unique-Strings, wie zum Beispiel "UIID_OR_WHATEVER_WELCOME_MESSAGE" mit einer Funktion in die jeweilige Sprache.
Wie gesagt, Push an einer Stelle dann einfach nicht den Buffer, sondern deinen String.MfG
-
Du kannst 'ne andere Adresse Pushen lassen und dann in der Data Section deinen anderen String hinschreiben.
MfG
-
EndIf?
Und in VB muss man das glaube ich in eine Zeile schreiben.
-
Danke für die Antworten.
-
Hi,
ich schilder mal mein Problem, in der Hoffnung, dass einer von euch Nachwuchs-Doktoren mir helfen kann.
Gestern Nachmittag bin ich im Sportunterricht böse mit dem Fuß umgeknickt (habe ein herrliches Knacken gehört).
Das tat dann tierisch weh und ich hab den Fuß hochgelegt und gekühlt. Irgendwie bin ich dann nach Hause gehumpelt und habe gehofft, dass es heute besser geht.
Dem war leider nicht so. Heute morgen war es ganz schlimm, sodass ich nur auf einem Bein durch das Haus gehüpft bin, aber dann habe ich 2 Tabletten Paracetamol genommen (10 Uhr) und jetzt (16 Uhr) sind die Schmerzen wesentlich erträglicher. Mich kann leider keiner zum Arzt fahren, weil meine Eltern beide bis Dienstag weg sind.
Heute Abend (9 Uhr) und Morgen Abend feiern zwei meiner Bekannten ihren 18. Geburtstag und da würde ich natürlich gerne dabei sein und mich in Ruhe betrinken.
Gibts da immernoch (also ca. 11 Stunden später) Probleme mit den Tabletten und kann jemand die Verletzung diagnostizieren, wenn ich die Schmerzpartie beschreibe:
Ich kann meinen Fußgelenk recht weit bewegen, wobei nach innen nicht so gut. Ich kann meine Zehen zwar nach unten drücken, wenn ich versuche sie hochzuziehen tut's weh. Wenn ich auftrete habe ich am Spann bis zum äußeren Knöchel ein Schmerzen.Dankeschön.
-
-
Können wir den Background wenigstens über die gesamte Seite legen und nicht nur die paar Pixel da oben? Sieht echt nicht schön aus, wenn man runter scrollt und nur noch die Farbe sieht.
MFG
-
Big Deal...
Ihr perversen "Solche Leute sollte man ..." seit auch nicht besser.
-
// Selbstverständlich könnt ihr mir auch Verbesserungsvorschläge die nichts mit der Rechtschreibung zu tun haben posten
Mit dem Wissen um das Risiko mich hier vollständig zu blamieren:
Es heißt "das Zeitintervall"MfG
-
Wenn du das Genitiv-S bei MSVS benutzen möchtest, muss danach noch ein Subjekt kommen.
Deine Wortwahl ist auch komisch: implantiert, Hauptfunktionalität ...
Zur Rechtschreibung darf ich ja nichts sagen.Try again
-
Family Guy steht nicht in der Umfrage?
Modern Family guck ich noch und Desperate Housewives.
-
gute Frage !
-
Guck, wie die Module davon lesen oder da rein schreiben und mach du das gleiche.
MfG
-
DIe Vertices deiner Entities verbinden und dann auf Strecken intersections checken.
MfG
-
Code
- float CMath::CalculateLineSlope( Line_t& line )
- {
- return ( line.end.y - line.start.y ) / ( line.end.x - line.start.x );
- }
- // ----------------------------------------------------------------------
- float CMath::CalculateLineAxisInterceptY( Line_t& line )
- {
- return ( line.start.x * line.end.y - line.end.x * line.start.y ) / ( line.start.x - line.end.x );
- }
- // ----------------------------------------------------------------------
- bool CMath::FindLinesIntersection( Line_t& line0, Line_t& line1, vec2* pOutColPos )
- {
- if ( pOutColPos == NULL )
- return false;
- line0.slope = CalculateLineSlope( line0 );
- line0.axisInterceptY = CalculateLineAxisInterceptY( line0 );
- line1.slope = CalculateLineSlope( line1 );
- line1.axisInterceptY = CalculateLineAxisInterceptY( line1 );
- if ( line0.axisInterceptY == line1.axisInterceptY )
- return false;
- // Special Cases (Straight vertical lines are no linear functions)
- bool bIsOnLine0 = false;
- bool bIsOnLine1 = false;
- if ( line0.start.x == line0.end.x && line1.start.x == line1.end.x )
- {
- return false;
- }
- else if ( line0.start.x == line0.end.x )
- {
- pOutColPos->x = line0.start.x;
- pOutColPos->y = line1.slope * pOutColPos->x + line1.axisInterceptY;
- }
- else if ( line1.start.x == line1.end.x )
- {
- pOutColPos->x = line1.start.x;
- pOutColPos->y = line0.slope * pOutColPos->x + line0.axisInterceptY;
- }
- else
- {
- pOutColPos->x = ( line1.axisInterceptY - line0.axisInterceptY ) / ( line0.slope - line1.slope );
- pOutColPos->y = line0.slope * pOutColPos->x + line0.axisInterceptY;
- }
- // TODO: Do it smarter, dumbass!
- if ( line0.start.x < line0.end.x )
- bIsOnLine0 = ( pOutColPos->x <= line0.end.x && pOutColPos->x >= line0.start.x );
- else if ( line0.start.x > line0.end.x )
- bIsOnLine0 = ( pOutColPos->x >= line0.end.x && pOutColPos->x <= line0.start.x );
- else
- {
- if ( line0.start.y < line0.end.y )
- bIsOnLine0 = ( pOutColPos->y >= line0.start.y && pOutColPos->y <= line0.end.y );
- else if ( line0.start.y > line0.end.y )
- bIsOnLine0 = ( pOutColPos->y <= line0.start.y && pOutColPos->y >= line0.end.y );
- else
- bIsOnLine0 = ( *pOutColPos == line0.start && *pOutColPos == line0.end );
- }
- if ( line1.start.x < line1.end.x )
- bIsOnLine1 = ( pOutColPos->x <= line1.end.x && pOutColPos->x >= line1.start.x );
- else if ( line1.start.x > line1.end.x )
- bIsOnLine1 = ( pOutColPos->x >= line1.end.x && pOutColPos->x <= line1.start.x );
- else
- {
- if ( line1.start.y < line1.end.y )
- bIsOnLine1 = ( pOutColPos->y >= line1.start.y && pOutColPos->y <= line1.end.y );
- else if ( line1.start.y > line0.end.y )
- bIsOnLine1 = ( pOutColPos->y <= line1.start.y && pOutColPos->y >= line1.end.y );
- else
- bIsOnLine1 = ( *pOutColPos == line1.start && *pOutColPos == line1.end );
- }
- return ( bIsOnLine0 && bIsOnLine1 );
- }
Code- struct Collision_t
- {
- vec2 start;
- vec2 end;
- float frac;
- vec2 colPos;
- int entIndex;
- };
- bool CEntity::TraceLine( vec2& start, vec2& end, Collision_t* pOutCol )
- {
- if ( pOutCol == NULL )
- return false;
- pOutCol->start = start;
- pOutCol->end = end;
- pOutCol->frac = 1000000.0f;
- pOutCol->entIndex = -1;
- Line_t line0;
- line0.start = start;
- line0.end = end;
- for ( size_t i = 0; i < g_pEntityList->size( ); i++ )
- {
- CEntity* pCurEnt = ( *g_pEntityList )[ i ];
- if ( pCurEnt == NULL || pCurEnt == this )
- continue;
- vec2 center = pCurEnt->GetPosition( );
- vector< vec2 > vertices = pCurEnt->GetVertices( );
- size_t iNumVertices = vertices.size( );
- for ( size_t j = 0; j < iNumVertices; j++ )
- {
- int iNextVertIndex = ( j == iNumVertices - 1 ) ? 0 : j + 1;
- vec2 curVert = vertices[ j ];
- vec2 nextVert = vertices[ iNextVertIndex ];
- Line_t line1;
- line1.start = center + curVert;
- line1.end = center + nextVert;
- vec2 colPos;
- if ( CMath::FindLinesIntersection( line0, line1, &colPos ) )
- {
- float frac = length( colPos - start ) / length( end - start );
- if ( frac < pOutCol->frac )
- {
- pOutCol->frac = frac;
- pOutCol->colPos = colPos;
- pOutCol->entIndex = i;
- }
- }
- }
- }
- return ( pOutCol->entIndex >= 0 );
- }
- // ----------------------------------------------------------------------
- void CEntity::UpdatePosition( float flTimeElapsed )
- {
- m_flTimeElapsed = flTimeElapsed; // For further use.
- vec2 newPos = m_position + m_velocity * flTimeElapsed;
- // Debug...
- g_pDrawing->SetDrawColor( colorRed );
- g_pDrawing->DrawLine( m_position, m_position + m_velocity * 10 );
- g_pDrawing->SetDrawColor( colorWhite );
- Move( newPos );
- }
Code- void CBall::Move( vec2& newPos )
- {
- Collision_t col;
- memset( &col, 0, sizeof( Collision_t ) );
- col.frac = 1000000.0f;
- int colVert = -1;
- for ( size_t i = 0; i < m_vertices.size( ); i++ )
- {
- vec2 curVert = m_position + m_vertices[ i ];
- vec2 destVert = newPos - m_position + curVert;
- Collision_t curCol;
- if ( TraceLine( curVert, destVert, &curCol ) )
- {
- if ( length( ( destVert - curVert ) ) * curCol.frac < length( ( destVert - curVert ) ) * col.frac )
- {
- colVert = i;
- memcpy( &col, &curCol, sizeof( Collision_t ) );
- }
- }
- }
- if ( colVert >= 0 )
- {
- vec2 delta = col.colPos - ( m_position + m_vertices[ colVert ] );
- m_position += delta;
- OnCollide( &col );
- return;
- }
- else
- m_position = newPos;
- }
Das ist die Killisionserkennung meines Pong-Spiels.
-
Natürlich nicht
-
IDA Pro + Hex-Rays Decompiler und lebenslange Erfahrung.
-
Greif dir den PE Header des Moduls und scan nur die .text Section. Am besten liest du dann in blöcken und nicht jedes Byte einzeln.
Es ist ja klar, dass das ganze so lange dauert, weil du knapp 2GB absuchst.MfG
-
Code
- .data:100590AC ; char *off_100590AC
- .data:100590AC off_100590ACdd offset a46_4_71_141_3 ; DATA XREF: sub_100042A0+64r
- .data:100590AC ; "46.4.71.141 "
- .data:100590B0 ; char *off_100590B0
- .data:100590B0 off_100590B0dd offset a46_4_71_141_4 ; DATA XREF: sub_100042A0+7Dr
- .data:100590B0 ; "46.4.71.141 "
- .data:100590B4 ; char *off_100590B4
- .data:100590B4 off_100590B4dd offset a46_4_71_141_5 ; DATA XREF: sub_100042A0+97r
- .data:100590B4 ; "46.4.71.141 "
- .data:100590B8 ; char *off_100590B8
- .data:100590B8 off_100590B8dd offset a46_4_71_141_6 ; DATA XREF: sub_100042A0+B1r
- .data:100590B8 ; "46.4.71.141 "
- .data:100590BC ; char *off_100590BC
- .data:100590BC off_100590BCdd offset a46_4_71_141_7
- .data:100590BC ; DATA XREF: sub_100042A0:loc_10004361r
- .data:100590BC ; "46.4.71.141 "
Code- BOOL __thiscall sub_100042A0(void *this, SOCKET a2)
- {
- int v3; // [sp+4h] [bp-4Ch]@12
- int v4; // [sp+8h] [bp-48h]@1
- void *v5; // [sp+14h] [bp-3Ch]@11
- int v6; // [sp+1Ch] [bp-34h]@14
- SOCKET v7; // [sp+20h] [bp-30h]@1
- int v8; // [sp+24h] [bp-2Ch]@1
- struct sockaddr name; // [sp+28h] [bp-28h]@1
- unsigned int v10; // [sp+38h] [bp-18h]@1
- SOCKET s; // [sp+3Ch] [bp-14h]@1
- HANDLE hObject; // [sp+40h] [bp-10h]@10
- int v13; // [sp+4Ch] [bp-4h]@11
- int v14; // [sp+50h] [bp+0h]@1
- v10 = (unsigned int)&v14 ^ __security_cookie;
- v4 = (int)this;
- name.sa_family = 0;
- *(_DWORD *)&name.sa_data[0] = 0;
- *(_DWORD *)&name.sa_data[4] = 0;
- *(_DWORD *)&name.sa_data[8] = 0;
- *(_WORD *)&name.sa_data[12] = 0;
- v8 = 0;
- v7 = a2;
- s = socket(2, 1, 0);
- if ( dword_100590C0 )
- {
- switch ( dword_100590C0 )
- {
- case 1:
- *(_DWORD *)&name.sa_data[2] = inet_addr(off_100590B0);
- break;
- case 2:
- *(_DWORD *)&name.sa_data[2] = inet_addr(off_100590B4);
- break;
- case 3:
- *(_DWORD *)&name.sa_data[2] = inet_addr(off_100590B8);
- break;
- default:
- *(_DWORD *)&name.sa_data[2] = inet_addr(off_100590BC);
- break;
- }
- }
- else
- {
- *(_DWORD *)&name.sa_data[2] = inet_addr(off_100590AC);
- }
- name.sa_family = 2;
- *(_WORD *)&name.sa_data[0] = htons(0x3DA3u);
- hObject = CreateMutexA(0, 1, "DONTHOOK");
- if ( !connect(s, &name, 16) )
- {
- EnterCriticalSection((LPCRITICAL_SECTION)(v4 + 196));
- v5 = operator new(0x700F8u);
- v13 = 0;
- if ( v5 )
- v3 = sub_10007530(v5);
- else
- v3 = 0;
- v13 = -1;
- v6 = v3;
- sub_10007780(v4, v7, s, 1);
- if ( (unsigned __int8)sub_10007880(*(HWND *)(v4 + 68)) )
- {
- sub_1000C9E0(&v6);
- }
- else
- {
- if ( v6 )
- sub_100044B0(1);
- }
- LeaveCriticalSection((LPCRITICAL_SECTION)(v4 + 196));
- CloseHandle(hObject);
- }
- return CloseHandle(hObject);
- }