summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-03 12:01:43 +0000
committerFlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-03 12:01:43 +0000
commite83c989677addb0eb333f9917a116549cd147bae (patch)
tree0c0d27678ca17137bac989c3766749c1d0d8b56e
parentb1f782455b315a2bce76cb8b0564a8dfd3cdc680 (diff)
downloadhercules-e83c989677addb0eb333f9917a116549cd147bae.tar.gz
hercules-e83c989677addb0eb333f9917a116549cd147bae.tar.bz2
hercules-e83c989677addb0eb333f9917a116549cd147bae.tar.xz
hercules-e83c989677addb0eb333f9917a116549cd147bae.zip
- Fixed FIFO defines in TURBO mode.
Ref: http://www.eathena.ws/board/index.php?showtopic=129766 The rest of the TURBO related errors are about the HEAD defines having to be at the start of a block because they contain a variable declaration. (i won't fix these) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9611 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/common/socket.c2
-rw-r--r--src/common/socket.h11
-rw-r--r--src/map/atcommand.c4
-rw-r--r--src/map/intif.c2
-rw-r--r--src/map/map.c2
-rw-r--r--src/map/pc.c12
7 files changed, 19 insertions, 15 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 7b4a2ea99..f203e785d 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/01/03
+ * Fixed TURBO FIFO defines.
* Moved refusal of a known packet versions to clif_parse_WantToConnection
and made it check for non-player object with that id.
* JK_JOINTBEAT as described in:
diff --git a/src/common/socket.c b/src/common/socket.c
index ca532f185..ad33c28db 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -655,7 +655,7 @@ int do_sendrecv(int next)
free_session_mem(i); //free the bad session
continue;
}
-
+
if (!FD_ISSET(i, &readfds))
FD_SET(i,&readfds);
ret = i;
diff --git a/src/common/socket.h b/src/common/socket.h
index 71dc07ea9..370fdec5d 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -23,11 +23,13 @@ extern time_t last_tick;
extern time_t stall_time;
// define declaration
+#define TURBO
#define RFIFOSPACE(fd) (session[fd]->max_rdata-session[fd]->rdata_size)
#ifdef TURBO
-#define RFIFOHEAD(fd) char *rbPtr ## fd = session[fd]->rdata+session[fd]->rdata_pos
-#define RFIFOP(fd,pos) (&rbPtr ## fd[pos])
+#define RFIFOVAR(fd) rbPtr ## fd
+#define RFIFOHEAD(fd) uint8 *RFIFOVAR(fd) = session[fd]->rdata+session[fd]->rdata_pos
+#define RFIFOP(fd,pos) ( &RFIFOVAR(fd) + (pos) )
#else
//Make it a comment so it does not disrupts the rest of code.
#define RFIFOHEAD(fd) //
@@ -58,8 +60,9 @@ extern time_t stall_time;
#define WFIFOSPACE(fd) (session[fd]->max_wdata-session[fd]->wdata_size)
#ifdef TURBO
-#define WFIFOHEAD(fd, x) uint8 *wbPtr ## fd = (fd>0&&session[fd])?(session[fd]->wdata+session[fd]->wdata_size):NULL;
-#define WFIFOP(fd,pos) (&wbPtr ## fd[pos])
+#define WFIFOVAR(fd) wbPtr ## fd
+#define WFIFOHEAD(fd, x) uint8 *WFIFOVAR(fd) = ( (fd) > 0 && session[fd] ? session[fd]->wdata+session[fd]->wdata_size : NULL )
+#define WFIFOP(fd,pos) ( &WFIFOVAR(fd) + (pos) )
#else
#define WFIFOHEAD(fd, size) do{ if((fd) && session[fd]->wdata_size + (size) > session[fd]->max_wdata ) realloc_writefifo(fd, size); }while(0)
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 41aa7becd..0d595bef3 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -5011,13 +5011,13 @@ int atcommand_kickall(
nullpo_retr(-1, sd);
pl_allsd = map_getallusers(&users);
-
+
for (i = 0; i < users; i++) {
if ((pl_sd = pl_allsd[i]) && pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can kick only lower or same gm level
if (sd->status.account_id != pl_sd->status.account_id)
clif_GM_kick(sd, pl_sd, 0);
- }
}
+ }
clif_displaymessage(fd, msg_txt(195)); // All players have been kicked!
diff --git a/src/map/intif.c b/src/map/intif.c
index c89d0c567..54c5bf73a 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -40,7 +40,7 @@ static const int packet_len_table[]={
};
extern int char_fd; // inter serverのfdはchar_fdを使う
-#define inter_fd (char_fd) // エイリアス
+#define inter_fd char_fd // エイリアス
//-----------------------------------------------------------------
// inter serverへの送信
diff --git a/src/map/map.c b/src/map/map.c
index 1247206ab..1032472cc 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1871,7 +1871,7 @@ static int map_getallpc_sub(DBKey key,void * data,va_list ap)
struct map_session_data** map_getallusers(int *users) {
static struct map_session_data **all_sd=NULL;
static unsigned int all_count = 0;
-
+
if (users == NULL)
{ //Free up data
if (all_sd) aFree(all_sd);
diff --git a/src/map/pc.c b/src/map/pc.c
index f0eb54ad6..0b2e7a56e 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4851,13 +4851,13 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
if(sd->duel_invite > 0)
duel_reject(sd->duel_invite, sd);
}
-
+
pc_setdead(sd);
//Reset ticks.
sd->hp_loss_tick = sd->sp_loss_tick = 0;
-
+
pc_setglobalreg(sd,"PC_DIE_COUNTER",++sd->die_counter);
-
+
if (sd->state.event_death){
if(!src)
pc_setglobalreg(sd, "killerrid", 0);
@@ -4865,7 +4865,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
pc_setglobalreg(sd,"killerrid",src->id);
npc_script_event(sd,NPCE_DIE);
}
-
+
if ( sd && sd->spiritball && (sd->class_&MAPID_BASEMASK)==MAPID_GUNSLINGER ) // maybe also monks' spiritballs ?
pc_delspiritball(sd,sd->spiritball,0);
@@ -4900,7 +4900,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
ssd->status.manner -= 5;
if(ssd->status.manner < 0)
sc_start(src,SC_NOCHAT,100,0,0);
-
+
// PK/Karma system code (not enabled yet) [celest]
// originally from Kade Online, so i don't know if any of these is correct ^^;
// note: karma is measured REVERSE, so more karma = more 'evil' / less honourable,
@@ -4926,7 +4926,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
}
break;
}
-
+
// PK/Karma system code (not enabled yet) [celest]
/*