From 1d9fd6948a0eca8eeb6872b76af3c0c01403b6c0 Mon Sep 17 00:00:00 2001 From: dhewg Date: Thu, 1 Dec 2011 14:42:22 +0100 Subject: [PATCH] Fix id[Simple]Window for x86_64 --- neo/ui/SimpleWindow.cpp | 4 ++-- neo/ui/SimpleWindow.h | 2 +- neo/ui/Window.cpp | 28 ++++++++++++++-------------- neo/ui/Window.h | 14 +++++++------- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/neo/ui/SimpleWindow.cpp b/neo/ui/SimpleWindow.cpp index 87876a28..39447b67 100644 --- a/neo/ui/SimpleWindow.cpp +++ b/neo/ui/SimpleWindow.cpp @@ -254,8 +254,8 @@ void idSimpleWindow::Redraw(float x, float y) { textRect.Offset(-x, -y); } -int idSimpleWindow::GetWinVarOffset( idWinVar *wv, drawWin_t* owner) { - int ret = -1; +intptr_t idSimpleWindow::GetWinVarOffset( idWinVar *wv, drawWin_t* owner) { + intptr_t ret = -1; if ( wv == &rect ) { ret = (ptrdiff_t)&this->rect - (ptrdiff_t)this; diff --git a/neo/ui/SimpleWindow.h b/neo/ui/SimpleWindow.h index b31342e8..1f8b49e5 100644 --- a/neo/ui/SimpleWindow.h +++ b/neo/ui/SimpleWindow.h @@ -49,7 +49,7 @@ public: idStr name; idWinVar * GetWinVarByName(const char *_name); - int GetWinVarOffset( idWinVar *wv, drawWin_t* owner); + intptr_t GetWinVarOffset( idWinVar *wv, drawWin_t* owner); size_t Size(); idWindow* GetParent ( void ) { return mParent; } diff --git a/neo/ui/Window.cpp b/neo/ui/Window.cpp index b20a0caa..d04fd4d5 100644 --- a/neo/ui/Window.cpp +++ b/neo/ui/Window.cpp @@ -1714,8 +1714,8 @@ void idWindow::PostParse() { idWindow::GetWinVarOffset ================ */ -int idWindow::GetWinVarOffset( idWinVar *wv, drawWin_t* owner) { - int ret = -1; +intptr_t idWindow::GetWinVarOffset( idWinVar *wv, drawWin_t* owner) { + intptr_t ret = -1; if ( wv == &rect ) { ret = (ptrdiff_t)&this->rect - (ptrdiff_t)this; @@ -2763,7 +2763,7 @@ idWindow::EmitOp ================ */ -int idWindow::EmitOp( int a, int b, wexpOpType_t opType, wexpOp_t **opp ) { +intptr_t idWindow::EmitOp( intptr_t a, intptr_t b, wexpOpType_t opType, wexpOp_t **opp ) { wexpOp_t *op; /* // optimize away identity operations @@ -2814,8 +2814,8 @@ int idWindow::EmitOp( int a, int b, wexpOpType_t opType, wexpOp_t **opp ) { idWindow::ParseEmitOp ================ */ -int idWindow::ParseEmitOp( idParser *src, int a, wexpOpType_t opType, int priority, wexpOp_t **opp ) { - int b = ParseExpressionPriority( src, priority ); +intptr_t idWindow::ParseEmitOp( idParser *src, intptr_t a, wexpOpType_t opType, int priority, wexpOp_t **opp ) { + intptr_t b = ParseExpressionPriority( src, priority ); return EmitOp( a, b, opType, opp ); } @@ -2827,9 +2827,9 @@ idWindow::ParseTerm Returns a register index ================= */ -int idWindow::ParseTerm( idParser *src, idWinVar *var, int component ) { +intptr_t idWindow::ParseTerm( idParser *src, idWinVar *var, intptr_t component ) { idToken token; - int a, b; + intptr_t a, b; src->ReadToken( &token ); @@ -2872,7 +2872,7 @@ int idWindow::ParseTerm( idParser *src, idWinVar *var, int component ) { var = GetWinVarByName(token, true); } if (var) { - a = (int)var; + a = (intptr_t)var; //assert(dynamic_cast(var)); var->Init(token, this); b = component; @@ -2902,7 +2902,7 @@ int idWindow::ParseTerm( idParser *src, idWinVar *var, int component ) { // ugly but used for post parsing to fixup named vars char *p = new char[token.Length()+1]; strcpy(p, token); - a = (int)p; + a = (intptr_t)p; b = -2; return EmitOp(a, b, WOP_TYPE_VAR); } @@ -2917,9 +2917,9 @@ Returns a register index ================= */ #define TOP_PRIORITY 4 -int idWindow::ParseExpressionPriority( idParser *src, int priority, idWinVar *var, int component ) { +intptr_t idWindow::ParseExpressionPriority( idParser *src, int priority, idWinVar *var, intptr_t component ) { idToken token; - int a; + intptr_t a; if ( priority == 0 ) { return ParseTerm( src, var, component ); @@ -2974,7 +2974,7 @@ int idWindow::ParseExpressionPriority( idParser *src, int priority, idWinVar *va } if ( priority == 4 && token == "?" ) { wexpOp_t *oop = NULL; - int o = ParseEmitOp( src, a, WOP_TYPE_COND, priority, &oop ); + intptr_t o = ParseEmitOp( src, a, WOP_TYPE_COND, priority, &oop ); if ( !src->ReadToken( &token ) ) { return o; } @@ -3000,7 +3000,7 @@ idWindow::ParseExpression Returns a register index ================ */ -int idWindow::ParseExpression(idParser *src, idWinVar *var, int component) { +intptr_t idWindow::ParseExpression(idParser *src, idWinVar *var, intptr_t component) { return ParseExpressionPriority( src, TOP_PRIORITY, var ); } @@ -3864,7 +3864,7 @@ void idWindow::FixupParms() { const char *p = (const char*)(ops[i].a); idWinVar *var = GetWinVarByName(p, true); delete []p; - ops[i].a = (int)var; + ops[i].a = (intptr_t)var; ops[i].b = -1; } } diff --git a/neo/ui/Window.h b/neo/ui/Window.h index 182d53b8..de02df35 100644 --- a/neo/ui/Window.h +++ b/neo/ui/Window.h @@ -106,7 +106,7 @@ typedef enum { typedef struct { wexpOpType_t opType; - int a, b, c, d; + intptr_t a, b, c, d; } wexpOp_t; struct idRegEntry { @@ -230,7 +230,7 @@ public: virtual idWinVar *GetWinVarByName (const char *_name, bool winLookup = false, drawWin_t** owner = NULL); - int GetWinVarOffset( idWinVar *wv, drawWin_t *dw ); + intptr_t GetWinVarOffset( idWinVar *wv, drawWin_t *dw ); float GetMaxCharHeight(); float GetMaxCharWidth(); void SetFont(); @@ -300,7 +300,7 @@ public: bool RunScript(int n); bool RunScriptList(idGuiScriptList *src); void SetRegs(const char *key, const char *val); - int ParseExpression( idParser *src, idWinVar *var = NULL, int component = 0 ); + intptr_t ParseExpression( idParser *src, idWinVar *var = NULL, intptr_t component = 0 ); int ExpressionConstant(float f); idRegisterList *RegList() { return ®List; } void AddCommand(const char *cmd); @@ -350,10 +350,10 @@ protected: int ExpressionTemporary(); wexpOp_t *ExpressionOp(); - int EmitOp( int a, int b, wexpOpType_t opType, wexpOp_t **opp = NULL ); - int ParseEmitOp( idParser *src, int a, wexpOpType_t opType, int priority, wexpOp_t **opp = NULL ); - int ParseTerm( idParser *src, idWinVar *var = NULL, int component = 0 ); - int ParseExpressionPriority( idParser *src, int priority, idWinVar *var = NULL, int component = 0 ); + intptr_t EmitOp( intptr_t a, intptr_t b, wexpOpType_t opType, wexpOp_t **opp = NULL ); + intptr_t ParseEmitOp( idParser *src, intptr_t a, wexpOpType_t opType, int priority, wexpOp_t **opp = NULL ); + intptr_t ParseTerm( idParser *src, idWinVar *var = NULL, intptr_t component = 0 ); + intptr_t ParseExpressionPriority( idParser *src, int priority, idWinVar *var = NULL, intptr_t component = 0 ); void EvaluateRegisters(float *registers); void SaveExpressionParseState(); void RestoreExpressionParseState();