Beispiel #1
0
 void tStringToString(std::string& strDest, LPCTSTR lpctSrc)
 {
	  char* pszStr = NULL;
	 T2C(&pszStr, lpctSrc);
	 strDest = pszStr;
	 SAFE_ARRYDELETE(pszStr);
 }
Beispiel #2
0
 void tStringToString(std::string& strDest, const tString& tstrSrc)
 {
	 char* pszStr = NULL;
	 T2C(&pszStr, tstrSrc.c_str());
	 strDest = pszStr;
	 SAFE_ARRYDELETE(pszStr);
 }
const wxChar* CslGameRedEclipse::GetWeaponName(wxInt32 n) const
{
    static const wxChar* weapons[] =
    {
        _("Melee"),_("Pistol"),_("Sword"),_("Shotgun"),
        _("Smg"),_("Flamer"),_("Plasma"),_("Rifle"),
        _("Grenade"),_("Rocket")
    };

    return (n>=0 && (size_t)n<sizeof(weapons)/sizeof(weapons[0])) ?
           weapons[n] : T2C(_("unknown"));
}
inline const wxChar* CslGameAssaultCube::GetModeName(wxInt32 mode) const
{
    static const wxChar* modes[] =
    {
        wxT("team deathmatch"), wxT("coopedit"), wxT("deathmatch"), wxT("survivor"),
        wxT("team survivor"), wxT("ctf"), wxT("pistol frenzy"), wxT("bot team deathmatch"),
        wxT("bot deathmatch"), wxT("last swiss standing"), wxT("one shot, one kill"),
        wxT("team one shot, one kill"), wxT("bot one shot, one kill"),
        wxT("hunt the flag"), wxT("team keep the flag"), wxT("keep the flag"),
        wxT("team pistol frenzy"), wxT("team last swiss standing"), wxT("bot pistol frenzy"),
        wxT("bot last swiss standing"), wxT("bot team survivor"), wxT("bot team one shot, one kill")
    };

    return (mode>=0 && (size_t)mode<sizeof(modes)/sizeof(modes[0])) ?
           modes[mode] : T2C(_("unknown"));
}
Beispiel #5
0
term hlist(register term H, register term regs, stack wam)
{ no i; cell xval; bp_long ival; byte stamp;
#if TRACE>0
  fprintf(STD_err,"entering hlist, wam=%d, bboard=%d H=%d\n",
    wam,g.shared[BBoardStk].base,H);
  bbcheck(wam);
#endif
  if(!INTEGER(X(1))) return NULL; /* first arg: stamp */
  stamp=(byte)(OUTPUT_INT(X(1)));
  xval=X(2); /* second arg: starting arity of listed terms */
  if(!INTEGER(xval)) return NULL;
  ival=OUTPUT_INT(xval);
  for(i=0; i<HMAX; i++)
    if(hstamp[i]>=stamp && HUSED())
      { term xref=C2T(g.predmark);

        if(hstamp[i]<=RUNTIME)
          { /* gets preds of arity < ival `represented' as g.predmark*/
            if(g.predmark!=htable[i].pred 
                || GETARITY(htable[i].fun)<(no)ival) 
              continue;
              xval=g.predmark;
          }
        else
          { /* gets RUNTIME data of arity > ival */
            cell v=htable[i].val;
			if(NULL==(term)v) 
			  continue;
            if(VAR(v) &&
              !(
                 ONSTACK(g.shared[BBoardStk],v) ||
                 ONSTACK(g.shared[InstrStk],v) /*|| ON(HeapStk,v) */
               )) { 
#if TRACE>0
                fprintf(STD_err,
                 "unexpected data in htable[%d]=>\n<%s,%s>->%s\n",i,
                  smartref(htable[i].pred,wam),
                  smartref(htable[i].fun,wam),
                  smartref(v,wam));
#endif
                /* continue; */
            }      
         
            FDEREF(v);

            if((INTEGER(xval) && ival>0) 
                || VAR(xval)
                || (GETARITY(xval) < (no)ival)
                || xval==g.empty 
             )  
            continue;
            if(COMPOUND(xval))
              xval=T2C(xref);
          }
        IF_OVER("COPY_KEYS",(term *)H,HeapStk,bp_halt(9));
        SAVE_FUN(htable[i].pred);
        SAVE_FUN(htable[i].fun);
#if 0
        ASSERT2(( ATOMIC(xval)
           || ONSTACK(g.shared[BBoardStk],xval)
           || ON(HeapStk,xval)), /* will fail with multiple engines */
        xval);
#endif
        PUSH_LIST(xval);
      }
  PUSH_NIL();
  return H;
}
Beispiel #6
0
static void out(register cell xval, stack wam)
{ register term xref;
  static char ibuf[MAX1];
  
  FDEREF(xval);
  if(g.stop-g.sbuf>(bp_long)max.SBUF-MAX1)
    { warnmes("string buffer (-i option) exceeded or infinite term"); return; }
  if(VAR(xval))
    { 
/* obsolete
      ASSERT2((void*)g.shared[BBoardStk].base<(void*)htable &&
              (void*)htable<(void*)wam[HeapStk].base, xval);
*/
      VOUT(HeapStk,COUT('x'))
        BOUT(COUT('b'))
           TVOUT(htable,max.DICT*3*sizeof(cell),COUT('h')) 
            MVOUT(COUT('m'));
    }
  else
    {
      if(INTEGER(xval))
        {IOUT(OUTPUT_INT(xval));}
      else
  { 
    if(!GETARITY(xval))
      {SOUT(NAME(xval));}
    /* operators can be handled here easily
    else if(g.DIF==xval)
      {
        out(xref+1,wam),
        SOUT(NAME(s));
        out(xref+2,wam);
      }
    */
    else if IS_LIST(xval)
      {
        COUT('[');
        out((cell)(++xref),wam); 
        ++xref;
        FDEREF(T2C(xref));
        while(IS_LIST(xval))
         {
           COUT(',');
           out((cell)(++xref),wam);
           ++xref;
           FDEREF(T2C(xref));
         }
        if(g.NIL!=xval)
          {
            COUT('|');
            out((cell)xref,wam);
          }
        COUT(']');
      }
        else if (BP_FLOAT(xval)) 
        {
           FLOAT_OUT(ints_to_double(
                (half)(xref[1]),
                (half)(xref[2]),
                (half)(xref[3])));
        }
    else
      { register no i;
        SOUT(NAME(xval));
        COUT('(');
        for (i=1; i<GETARITY(xval); i++)
          {
            out(xref[i],wam);
            COUT(',');
          }
        out((cell)(xref+i),wam);
        COUT(')');
      }
  }
    }