Commit 45e2f0b4 authored by Rob Swindell's avatar Rob Swindell

Merge branch 'mlong/thepit'

parents c60d4d83 829f7f39
......@@ -29,6 +29,10 @@
# hostname, and that host must point to the IP address that the IRCd will be
# running on.
#
# To control the interfaces the ircd binds on when running as a service, they
# need to be configured in the services.ini file. When running as a stand-alone
# script, the ircd always binds to the wildcard address (ie: all addresses).
#
# M:hostname:ip(Unused):description:port
#
M:SYSTEM_QWKID.synchro.net:*:SYSTEM_NAME:6667
......@@ -261,6 +265,10 @@ H:*:*:rrx.synchro.net
# from jsexec) or inside the Synchronet services configuration. One port per
# line.
#
# To control the interfaces the ircd binds on when running as a service, they
# need to be configured in the services.ini file. When running as a stand-alone
# script, the ircd always binds to the wildcard address (ie: all addresses).
#
# P:*:*:*:port
#
#P:*:*:*:7000
......
......@@ -366,8 +366,12 @@ function export_users(msgbase, realnames, all)
if(!list.disabled)
list.disabled = [];
list.disabled.push(u.alias);
if(realnames)
list.disabled.push(u.name);
if(u.name != u.alias) {
if(realnames)
list.disabled.push(u.name);
else if(realnames !== false)
list.disabled.push("md5:" + md5_calc(u.name));
}
} else {
if(!lib.is_enabled(avatar)) {
alert("Invalid avatar for user #" + n);
......@@ -378,8 +382,12 @@ function export_users(msgbase, realnames, all)
if(!list[data])
list[data] = [];
list[data].push(u.alias);
if(realnames && u.name != u.alias)
list[data].push(u.name);
if(u.name != u.alias) {
if(realnames)
list[data].push(u.name);
else if(realnames !== false)
list[data].push("md5:" + md5_calc(u.name));
}
}
avatar.last_exported = new Date();
avatar.export_count++;
......@@ -541,7 +549,7 @@ function main()
var cmd;
var i;
var offset;
var realnames = false;
var realnames;
var ptr;
var limit;
var all;
......@@ -571,6 +579,9 @@ function main()
case '-realnames':
realnames = true;
break;
case '-aliasonly':
realnames = false;
break;
case "-ptr":
ptr = val;
break;
......
......@@ -192,7 +192,7 @@ function read_netuser(username, netaddr)
return obj;
}
function read(usernum, username, netaddr)
function read(usernum, username, netaddr, bbsid)
{
var usernum = parseInt(usernum, 10);
var obj = cache_get(usernum >= 1 ? usernum : username, netaddr);
......@@ -202,8 +202,17 @@ function read(usernum, username, netaddr)
obj = read_localuser(usernum);
else if(!netaddr)
obj = read_localuser(system.matchuser(username));
else
else {
obj = read_netuser(username, netaddr);
if(!obj && bbsid)
obj = read_netuser(username, bbsid);
if(!obj) {
var namehash = "md5:" + md5_calc(username);
obj = read_netuser(namehash, netaddr);
if(!obj && bbsid)
obj = read_netuser(namehash, bbsid);
}
}
cache_set(usernum >= 1 ? usernum : username, obj, netaddr);
return obj;
}
......@@ -262,7 +271,7 @@ function is_enabled(obj)
// Uses Graphic.draw() at an absolute screen coordinate
function draw(usernum, username, netaddr, above, right, top)
{
var avatar = this.read(usernum, username, netaddr);
var avatar = this.read(usernum, username, netaddr, usernum);
if(!is_enabled(avatar))
return false;
return draw_bin(avatar.data, above, right, top);
......@@ -297,7 +306,7 @@ function draw_bin(data, above, right, top)
// Uses console.write() where-ever the cursor happens to be
function show(usernum, username, netaddr)
{
var avatar = this.read(usernum, username, netaddr);
var avatar = this.read(usernum, username, netaddr, usernum);
if(!is_enabled(avatar))
return false;
return show_bin(avatar.data);
......
......@@ -50,7 +50,8 @@ if(!(bbs.msg_attr&bbs.mods.smbdefs.MSG_ANONYMOUS)) {
if(!bbs.mods.avatar_lib)
bbs.mods.avatar_lib = load({}, 'avatar_lib.js');
var options = get_options();
var success = bbs.mods.avatar_lib.draw(bbs.msg_from_ext, bbs.msg_from, bbs.msg_from_net
var success = bbs.mods.avatar_lib.draw(bbs.msg_from_ext || bbs.msg_from_bbsid
,bbs.msg_from, bbs.msg_from_net
,options.msghdr_draw_above, options.msghdr_draw_right
,options.msghdr_draw_top && bbs.msghdr_top_of_screen);
if(!success && bbs.smb_sub_code) {
......
......@@ -92,6 +92,10 @@
QUIET = @
!endif
!ifndef 3RDP_ROOT
3RDP_ROOT = $(SRC_ROOT)/../3rdp
!endif
# OS-specific
DIRSEP = \ # This comment is necessary
EXEFILE = .exe
......
......@@ -940,11 +940,11 @@ int ansi_writestr_cb(const unsigned char *str, size_t len)
int ansi_initio_cb(void)
{
#ifdef _WIN32
DWORD conmode = 0;
if(isatty(fileno(stdin))) {
if(!SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), ENABLE_VIRTUAL_TERMINAL_INPUT))
return(0);
DWORD conmode = 0;
GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &conmode);
if(!SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), conmode | ENABLE_VIRTUAL_TERMINAL_PROCESSING))
return(0);
......
......@@ -39,7 +39,6 @@
#include <stdarg.h>
#include <stdlib.h> /* alloca */
#include <stdio.h>
#include <stdbool.h>
#if defined(_WIN32)
#include <malloc.h> /* alloca() on Win32 */
#endif
......@@ -1677,7 +1676,7 @@ CIOLIBEXPORT struct ciolib_screen * CIOLIBCALL ciolib_savescreen(void)
}
if (vmode != -1) {
ret->pixels = ciolib_getpixels(0, 0, vparams[vmode].charwidth * vparams[vmode].cols - 1, vparams[vmode].charheight * vparams[vmode].rows - 1, true);
ret->pixels = ciolib_getpixels(0, 0, vparams[vmode].charwidth * vparams[vmode].cols - 1, vparams[vmode].charheight * vparams[vmode].rows - 1, TRUE);
}
ciolib_vmem_gettext(1, 1, ret->text_info.screenwidth, ret->text_info.screenheight, ret->vmem);
ret->fg_colour = ciolib_fg;
......
......@@ -14,6 +14,14 @@ exe: ooii.exe
ver = 1.20
url = http://www.operationoverkill.com/files/ooii_120.zip
[md5:fb448a43d3da4e14bc61606320d33fd1]
ver = 1.11
url = https://www.ziskind.com/bbsdoorfiles/ooii/oo111.zip
[md5:26a91c349e08a4052129ee90b527309d]
ver = 1.10
url = https://www.ziskind.com/bbsdoorfiles/ooii/oo110-1.zip
[md5:75917bcbda6a7aa478e0968830219626]
ver = 1.00
......
Name: The Pit
Desc: Warriors fight for glory in a huge area against other players or AI creatures
By: James R. Berry
Cats: Games
Subs: Combat
exe: pit.exe
;http://wiki.synchro.net/howto:door:thepit
;
; Run control.exe and choose:
; -FOSSIL
; -DOOR.SYS
; -Path to doorfile: your node's directory
; -MultiNoded Usage: ON
; -Repeat for each node (use Page Up to make a new node config)
[md5:42bae5f01ee9f0d23d541f1c95ca2ab5]
ver = 3.6
url = http://bbsfiles.com/ftp/misc/pit36.zip
[prog:THEPIT]
; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
name = The Pit
; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
cmd = pit /NODE%#
ars = DOS
execution_ars = NOT GUEST
settings = XTRN_ANSI | XTRN_SH | XTRN_MULTIUSER
type = XTRN_GAP
;clean_cmd =
......@@ -139,7 +139,7 @@ function GameSettings()
this.save=GameSettings_Save;
if(file_exists(f.name)) {
f.open("r+");
f.open("r");
for(i=0; i<GameSettingProperties.length; i++) {
this[GameSettingProperties[i].prop]=f.iniGetValue(null, GameSettingProperties[i].prop, GameSettingProperties[i].def);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment