├── APIs
└── C (N64).xml
├── Config
└── N64C.xml
├── N64C.dll
├── README.md
├── UDL
└── N64C.xml
└── sourcecode
├── legacylib
├── OldAccessor.h
├── OldFontQuality.h
├── OldKeyWords.cxx
├── OldKeyWords.h
├── OldPlatWin.cxx
├── OldPlatform.h
├── OldPlatformRes.h
├── OldPropSet.cxx
├── OldPropSet.h
├── OldPropSetSimple.h
├── OldSciLexer.h
├── OldScintilla.h
├── OldStyleContext.cxx
├── OldStyleContext.h
├── OldUniConversion.cxx
├── OldUniConversion.h
├── OldWindowAccessor.cxx
├── OldWindowAccessor.h
├── OldXPM.cxx
└── OldXPM.h
├── src
├── Legacy.cpp
├── Legacy.h
├── N64C.cpp
├── N64C.h
├── N64C.rc
├── N64C_Plugin.def
└── resource.h
└── vcbuild
├── N64C.vs.2008.ncb
├── N64C.vs.2008.sln
├── N64C.vs.2008.suo
├── N64C.vs2008.ncb
└── vcbuild.vcproj
/Config/N64C.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | union inline register auto int char musConfig NUScPreNMIFunc musHandle unsigned signed short long float double void static const extern size_t f32 f64 vu8 vu16 vu32 vu64 vs8 vs16 vs32 vs64 u8 u16 u32 u64 s8 s16 s32 s64 volatile NUContData typedef struct Mtx OSTask OSMesg OSContStatus OSContPad OSIoMesg OSThread Vtx OSMesg OSMesgQueue OSTime enum OSPiHandle OSPri Gfx Vp Vtx_t Vtx_tn Vtx uSprite_t uSprite Tri Mtx_t Mtx Vp_t Vp Light_t Ambient_t Hilite_t Light Ambient Lightsn Lights0 Lights1 Lights2 Lights3 Lights4 Lights5 Lights6 Lights7 LookAt Hilite Gdma Gtri Gpopmtx Gsegment GsetothermodeL GsetothermodeH Gtexture Gline3D Gsetimg Gsetcombine Gsetcolor Gfillrect Gsettile Gloadtile Gloadblock Gloadtlut Gsettilesize Gtexrect TexRect Gwords ALSynConfig ALSeqpConfig ALSndpConfig NUScClient NUGfxFunc NUDMABuffer NUDMAState ALCSPlayer ALCSeq NUAuSeqPlayer ALSndId NUAuSndId NUScMsg NUScTask ALHeap ALBankFile ALSeqFile ALSndPlayer NUAuPreNMIFunc NUAuMgrFunc ALGlobals Acmd NUSched NUUcode NUIdleFunc NUGfxPreNMIFunc NUGfxSwapCfbFunc NUGfxTaskEndFunc NUContReadFunc NUContPakFunc NUContRmbFunc NUCallBackFunc NUPiOverlaySegment NUSiCommonMesg NUContReadMesg NUContQueryMesg NUContPakFile OSPfs NUContPakFreeMesg NUContPakFileOpenMesg NUContPakFileRWMesg OSPfsState NUContPakFileStateMesg NUContPakFileNumMesg NUContPakIsPlugMesg NUContRmbCtl NUContRmbMesg NUCallBackList NUEepromMesg NUContGBPakMesg OSVoiceHandle OSVoiceData NUVrsHandle NUVrsData NUVrsMesg NUDebTaskTime NUDebTaskPerf NUDebConWindow osTimer
10 | CONT_OVERRUN_ERROR CONT_TYPE_MASK CONT_TYPE_NORMAL CONT_ABSOLUTE CONT_RELATIVE CONT_JOYPORT CONT_TYPE_MOUSE CONT_TYPE_VOICE CONT_CARD_ON CONT_CARD_PULL PFS_ERR_NOPACK PFS_ERR_DEVICE PFS_ERR_CONTRFAIL MAXCONTROLLERS OS_EVENT_SW1 OS_EVENT_SW2 OS_EVENT_CART OS_EVENT_COUNTER OS_EVENT_SP OS_EVENT_AI OS_EVENT_VI OS_EVENT_PI OS_EVENT_PRENMI OS_EVENT_CPU_BREAK OS_EVENT_SP_BREAK OS_EVENT_FAULT OS_EVENT_THREADSTATUS PFS_ERR_NOPACK PFS_ERR_NEW_PACK PFS_ERR_CONTRFAIL PFS_ERR_ID_FATAL PFS_ERR_DEVICE OS_MESG_PRI_NORMAL OS_MESG_PRI_HIGH OS_READ OS_WRITE OS_OTHERS EEPROM_TYPE_4K EEPROM_TYPE_16K MUSFLAG_SONGS G_RM_XLU_SURF2 G_IM_SIZ_32b MUSFLAG_EFFECTS G_RM_ZB_XLU_SURF2 G_TT_RGBA16 A_BUTTON B_BUTTON START_BUTTON Z_TRIG L_TRIG R_TRIG U_CBUTTONS D_CBUTTONS L_CBUTTONS R_CBUTTONS U_JPAD D_JPAD L_JPAD R_JPAD NU_DEB_CON_TEXT_BLACK NU_DEB_CON_TEXT_BLUE NU_DEB_CON_TEXT_GREEN NU_DEB_CON_TEXT_CYAN NU_DEB_CON_TEXT_RED NU_DEB_CON_TEXT_MAGENTA NU_DEB_CON_TEXT_YELLOW NU_DEB_CON_TEXT_WHITE NU_DEB_CON_TEXT_LIGHTBLACK NU_DEB_CON_TEXT_LIGHTBLUE NU_DEB_CON_TEXT_LIGHTGREEN NU_DEB_CON_TEXT_LIGHTCYAN NU_DEB_CON_TEXT_LIGHTRED NU_DEB_CON_TEXT_LIGHTMAGENTA NU_DEB_CON_TEXT_LIGHTYELLOW NU_DEB_CON_TEXT_LIGHTWHITE NU_AU_CHANNELS NU_AU_SYN_UPDATE_MAX NU_AU_DMA_BUFFER_NUM NU_AU_DMA_BUFFER_SIZE NU_SC_MAX_MESGS NU_DEB_MARKER_NUM NU_DEB_PERF_GFXTASK_CNT NU_DEB_PERF_AUTASK_CNT NU_DEB_CON_TEXT_SIZE NU_AU_MGR_THREAD_PRI NU_AU_MGR_THREAD_ID NU_AU_CLIST_LEN NU_AU_OUTPUT_RATE NU_AU_MESG_MAX NU_AU_HEAP_SIZE NU_AU_HEAP_ADDR NU_AU_SONG_SIZE NU_AU_SAMPLE_SIZE NU_AU_SE_SIZE NU_AU_TASK_STOP NU_AU_TASK_RUN NU_AU_SEQ_PLAYER0 NU_AU_SEQ_PLAYER1 NU_AU_SEQPLAYER_NUM NU_AU_FIFO_LENGTH NU_SC_NOSWAPBUFFER G_RM_AA_ZB_TEX_EDGE2 OS_VI_GAMMA_OFF G_PM_1PRIMITIVE OS_VI_GAMMA_DITHER_OFF OS_VI_DIVOT_OFF OS_VI_DITHER_FILTER_OFF G_IM_SIZ_8b G_IM_SIZ_16b NU_DEB_CON_WINDOW0 NU_DEB_CON_WINDOW1 NU_DEB_CON_WINDOW2 NU_DEB_CON_WINDOW3 OS_PRIORITY_VIMGR G_SHADE G_SHADING_SMOOTH NU_SC_SWAPBUFFER G_RM_NOOP2 NU_GFX_UCODE_F3DEX G_CULL_BOTH G_FOG G_LIGHTING G_TEXTURE_GEN CONT_UP CONT_DOWN CONT_RIGHT CONT_LEFT CONT_A CONT_B CONT_C CONT_F CONT_D CONT_E CONT_L CONT_R CONT_G CONT_START G_CYC_FILL OS_MESG_NO_BLOCK OS_MESG_BLOCK OS_EVENT_SI OS_EVENT_DP OS_MESG_BLOCK CONT_NO_RESPONSE_ERROR G_TEXTURE_GEN_LINEAR G_LOD G_OFF G_ON G_CYC_1CYCLE G_PM_NPRIMITIVE G_SC_NON_INTERLACE G_TL_TILE G_TT_NONE G_TD_CLAMP G_TP_PERSP G_AC_NONE G_CK_NONE G_CD_BAYER G_CC_SHADE G_TC_FILT G_TF_BILERP SPLIT_Z_CFB TENEMENT ATHERTON M_GFXTASK OS_PRIORITY_PIMGR OS_TASK_DP_WAIT SP_UCODE_SIZE SP_UCODE_DATA_SIZE SP_DRAM_STACK_SIZE8 G_MTX_PROJECTION G_MTX_MODELVIEW G_MTX_LOAD G_MTX_NOPUSH G_ZBUFFER G_RM_AA_ZB_OPA_SURF G_RM_AA_ZB_OPA_SURF2 G_RM_ZB_OPA_SURF G_RM_ZB_OPA_SURF2 G_RM_OPA_SURF G_RM_OPA_SURF2 G_RM_AA_OPA_SURF G_RM_AA_OPA_SURF2 FRUSTRATIO_1 FRUSTRATIO_2 FRUSTRATIO_3 FRUSTRATIO_4 FRUSTRATIO_5 FRUSTRATIO_6 G_IMMFIRST G_TRI G_CULLDL G_POPMTX G_MOVEWORD G_TEXTURE G_SETOTHERMODE_H G_SETOTHERMODE_L G_ENDDL G_SETGEOMETRYMODE G_CLEARGEOMETRYMODE G_LINE G_RDPHALF_ G_RDPHALF_ G_MODIFYVTX G_TRI G_BRANCH_Z G_LOAD_UCODE G_RDPHALF_CONT G_SPRITE G_SPRITE G_SETCIMG G_SETZIMG G_SETTIMG G_SETCOMBINE G_SETENVCOLOR G_SETPRIMCOLOR G_SETBLENDCOLOR G_SETFOGCOLOR G_SETFILLCOLOR G_FILLRECT G_SETTILE G_LOADTILE G_LOADBLOCK G_SETTILESIZE G_LOADTLUT G_RDPSETOTHERMODE G_SETPRIMDEPTH G_SETSCISSOR G_SETCONVERT G_SETKEYR G_SETKEYGB G_RDPFULLSYNC G_RDPTILESYNC G_RDPPIPESYNC G_RDPLOADSYNC G_TEXRECTFLIP G_TEXRECT G_TRI_FILL G_TRI_SHADE G_TRI_TXTR G_TRI_SHADE_TXTR G_TRI_FILL_ZBUFF G_TRI_SHADE_ZBUFF G_TRI_TXTR_ZBUFF G_TRI_SHADE_TXTR_ZBUFF G_RDP_TRI_FILL_MASK G_RDP_TRI_SHADE_MASK G_RDP_TRI_TXTR_MASK G_RDP_TRI_ZBUFF_MASK BOWTIE_VAL G_RDP_ADDR_FIXUP G_RDP_TEXRECT_CHECK G_DMACMDSIZ G_IMMCMDSIZ G_RDPCMDSIZ G_TEXTURE_IMAGE_FRAC G_TEXTURE_SCALE_FRAC G_SCALE_FRAC G_ROTATE_FRAC G_MAXFBZ G_MTX_MODELVIEW G_MTX_PROJECTION G_MTX_MUL G_MTX_LOAD G_MTX_NOPUSH G_MTX_PUSH G_MTX_MODELVIEW G_MTX_PROJECTION G_MTX_MUL G_MTX_LOAD G_MTX_NOPUSH G_MTX_PUSH G_ZBUFFER G_SHADE G_TEXTURE_ENABLE G_SHADING_SMOOTH G_CULL_FRONT G_CULL_BACK G_CULL_BOTH G_TEXTURE_ENABLE G_SHADING_SMOOTH G_CULL_FRONT G_CULL_BACK G_CULL_BOTH G_FOG G_LIGHTING G_TEXTURE_GEN G_TEXTURE_GEN_LINEAR G_LOD G_CLIPPING G_CLIPPING G_FOG_H G_LIGHTING_H G_TEXTURE_GEN_H G_TEXTURE_GEN_LINEAR_H G_LOD_H G_CLIPPING_H G_TX_LOADTILE G_TX_RENDERTILE G_TX_NOMIRROR G_TX_WRAP G_TX_MIRROR G_TX_CLAMP G_TX_NOMASK G_TX_NOLOD G_IM_FMT_RGBA G_IM_FMT_YUV G_IM_FMT_CI G_IM_FMT_IA G_IM_FMT_I G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_DD G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_IM_SIZ_ G_CCMUX_COMBINED G_CCMUX_TEXEL G_CCMUX_TEXEL G_CCMUX_PRIMITIVE G_CCMUX_SHADE G_CCMUX_ENVIRONMENT G_CCMUX_CENTER G_CCMUX_SCALE G_CCMUX_COMBINED_ALPHA G_CCMUX_TEXEL G_CCMUX_TEXEL G_CCMUX_PRIMITIVE_ALPHA G_CCMUX_SHADE_ALPHA G_CCMUX_ENV_ALPHA G_CCMUX_LOD_FRACTION G_CCMUX_PRIM_LOD_FRAC G_CCMUX_NOISE G_CCMUX_K G_CCMUX_K G_CCMUX_ G_CCMUX_ G_ACMUX_COMBINED G_ACMUX_TEXEL G_ACMUX_TEXEL G_ACMUX_PRIMITIVE G_ACMUX_SHADE G_ACMUX_ENVIRONMENT G_ACMUX_LOD_FRACTION G_ACMUX_PRIM_LOD_FRAC G_ACMUX_ G_ACMUX_ G_CC_PRIMITIVE G_CC_SHADE G_CC_MODULATEI G_CC_MODULATEIA G_CC_MODULATEIDECALA G_CC_MODULATERGB G_CC_MODULATERGBA G_CC_MODULATERGBDECALA G_CC_MODULATEI_PRIM G_CC_MODULATEIA_PRIM G_CC_MODULATEIDECALA_PRIM G_CC_MODULATERGB_PRIM G_CC_MODULATERGBA_PRIM G_CC_MODULATERGBDECALA_PRIM G_CC_DECALRGB G_CC_DECALRGBA G_CC_BLENDI G_CC_BLENDIA G_CC_BLENDIDECALA G_CC_BLENDRGBA G_CC_BLENDRGBDECALA G_CC_ADDRGB G_CC_ADDRGBDECALA G_CC_REFLECTRGB G_CC_REFLECTRGBDECALA G_CC_HILITERGB G_CC_HILITERGBA G_CC_HILITERGBDECALA G_CC_SHADEDECALA G_CC_BLENDPE G_CC_BLENDPEDECALA _G_CC_BLENDPE _G_CC_BLENDPEDECALA _G_CC_TWOCOLORTEX _G_CC_SPARSEST G_CC_TEMPLERP G_CC_TRILERP G_CC_INTERFERENCE G_CC_ G_CC_YUV G_CC_PASS G_CC_MODULATEI G_CC_MODULATEIA G_CC_MODULATERGB G_CC_MODULATERGBA G_CC_MODULATEI_PRIM G_CC_MODULATEIA_PRIM G_CC_MODULATERGB_PRIM G_CC_MODULATERGBA_PRIM G_CC_DECALRGB G_CC_BLENDI G_CC_BLENDIA G_CC_CHROMA_KEY G_CC_HILITERGB G_CC_HILITERGBA G_CC_HILITERGBDECALA G_CC_HILITERGBPASSA G_MDSFT_ALPHACOMPARE G_MDSFT_ZSRCSEL G_MDSFT_RENDERMODE G_MDSFT_BLENDER G_MDSFT_BLENDMASK G_MDSFT_ALPHADITHER G_MDSFT_RGBDITHER G_MDSFT_COMBKEY G_MDSFT_TEXTCONV G_MDSFT_TEXTFILT G_MDSFT_TEXTLUT G_MDSFT_TEXTLOD G_MDSFT_TEXTDETAIL G_MDSFT_TEXTPERSP G_MDSFT_CYCLETYPE G_MDSFT_COLORDITHER G_MDSFT_PIPELINE G_PM_ G_PM_NPRIMITIVE G_CYC_ G_CYC_ G_CYC_COPY G_CYC_FILL G_TP_NONE G_TP_PERSP G_TD_CLAMP G_TD_SHARPEN G_TD_DETAIL G_TL_TILE G_TL_LOD G_TT_NONE G_TT_RGBA G_TT_IA G_TF_POINT G_TF_AVERAGE G_TF_BILERP G_TC_CONV G_TC_FILTCONV G_TC_FILT G_CK_NONE G_CK_KEY G_CD_MAGICSQ G_CD_BAYER G_CD_NOISE G_CD_DISABLE G_CD_ENABLE G_CD_ENABLE G_CD_DISABLE G_AD_PATTERN G_AD_NOTPATTERN G_AD_NOISE G_AD_DISABLE G_AC_NONE G_AC_THRESHOLD G_AC_DITHER G_ZS_PIXEL G_ZS_PRIM AA_EN Z_CMP Z_UPD IM_RD CLR_ON_CVG CVG_DST_CLAMP CVG_DST_WRAP CVG_DST_FULL CVG_DST_SAVE ZMODE_OPA ZMODE_INTER ZMODE_XLU ZMODE_DEC CVG_X_ALPHA ALPHA_CVG_SEL FORCE_BL TEX_EDGE G_BL_CLR_IN G_BL_CLR_MEM G_BL_CLR_BL G_BL_CLR_FOG G_BL_ G_BL_A_MEM G_BL_A_IN G_BL_A_FOG G_BL_A_SHADE G_BL_ G_BL_ G_RM_AA_ZB_OPA_SURF G_RM_AA_ZB_OPA_SURF G_RM_AA_ZB_XLU_SURF G_RM_AA_ZB_XLU_SURF G_RM_AA_ZB_OPA_DECAL G_RM_AA_ZB_OPA_DECAL G_RM_AA_ZB_XLU_DECAL G_RM_AA_ZB_XLU_DECAL G_RM_AA_ZB_OPA_INTER G_RM_AA_ZB_OPA_INTER G_RM_AA_ZB_XLU_INTER G_RM_AA_ZB_XLU_INTER G_RM_AA_ZB_XLU_LINE G_RM_AA_ZB_XLU_LINE G_RM_AA_ZB_DEC_LINE G_RM_AA_ZB_DEC_LINE G_RM_AA_ZB_TEX_EDGE G_RM_AA_ZB_TEX_EDGE G_RM_AA_ZB_TEX_INTER G_RM_AA_ZB_TEX_INTER G_RM_AA_ZB_SUB_SURF G_RM_AA_ZB_SUB_SURF G_RM_AA_ZB_PCL_SURF G_RM_AA_ZB_PCL_SURF G_RM_AA_ZB_OPA_TERR G_RM_AA_ZB_OPA_TERR G_RM_AA_ZB_TEX_TERR G_RM_AA_ZB_TEX_TERR G_RM_AA_ZB_SUB_TERR G_RM_AA_ZB_SUB_TERR G_RM_RA_ZB_OPA_SURF G_RM_RA_ZB_OPA_SURF G_RM_RA_ZB_OPA_DECAL G_RM_RA_ZB_OPA_DECAL G_RM_RA_ZB_OPA_INTER G_RM_RA_ZB_OPA_INTER G_RM_AA_OPA_SURF G_RM_AA_OPA_SURF G_RM_AA_XLU_SURF G_RM_AA_XLU_SURF G_RM_AA_XLU_LINE G_RM_AA_XLU_LINE G_RM_AA_DEC_LINE G_RM_AA_DEC_LINE G_RM_AA_TEX_EDGE G_RM_AA_TEX_EDGE G_RM_AA_SUB_SURF G_RM_AA_SUB_SURF G_RM_AA_PCL_SURF G_RM_AA_PCL_SURF G_RM_AA_OPA_TERR G_RM_AA_OPA_TERR G_RM_AA_TEX_TERR G_RM_AA_TEX_TERR G_RM_AA_SUB_TERR G_RM_AA_SUB_TERR G_RM_RA_OPA_SURF G_RM_RA_OPA_SURF G_RM_ZB_OPA_SURF G_RM_ZB_OPA_SURF G_RM_ZB_XLU_SURF G_RM_ZB_XLU_SURF G_RM_ZB_OPA_DECAL G_RM_ZB_OPA_DECAL G_RM_ZB_XLU_DECAL G_RM_ZB_XLU_DECAL G_RM_ZB_CLD_SURF G_RM_ZB_CLD_SURF G_RM_ZB_OVL_SURF G_RM_ZB_OVL_SURF G_RM_ZB_PCL_SURF G_RM_ZB_PCL_SURF G_RM_OPA_SURF G_RM_OPA_SURF G_RM_XLU_SURF G_RM_XLU_SURF G_RM_CLD_SURF G_RM_CLD_SURF G_RM_TEX_EDGE G_RM_TEX_EDGE G_RM_PCL_SURF G_RM_PCL_SURF G_RM_ADD G_RM_ADD G_RM_NOOP G_RM_NOOP G_RM_VISCVG G_RM_VISCVG G_RM_OPA_CI G_RM_OPA_CI G_RM_FOG_SHADE_A G_RM_FOG_PRIM_A G_RM_PASS G_CV_K G_CV_K G_CV_K G_CV_K G_CV_K G_CV_K G_SC_NON_INTERLACE G_SC_ODD_INTERLACE G_SC_EVEN_INTERLACE G_DL_PUSH G_DL_NOPUSH G_MAXZ G_MW_MATRIX G_MW_NUMLIGHT G_MW_CLIP G_MW_SEGMENT G_MW_FOG G_MW_LIGHTCOL G_MW_FORCEMTX G_MW_POINTS G_MW_PERSPNORM G_MWO_NUMLIGHT G_MWO_CLIP_RNX G_MWO_CLIP_RNY G_MWO_CLIP_RPX G_MWO_CLIP_RPY G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_ G_MWO_SEGMENT_A G_MWO_SEGMENT_B G_MWO_SEGMENT_C G_MWO_SEGMENT_D G_MWO_SEGMENT_E G_MWO_SEGMENT_F G_MWO_FOG G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_aLIGHT_ G_MWO_bLIGHT_ G_MWO_MATRIX_XX_XY_I G_MWO_MATRIX_XZ_XW_I G_MWO_MATRIX_YX_YY_I G_MWO_MATRIX_YZ_YW_I G_MWO_MATRIX_ZX_ZY_I G_MWO_MATRIX_ZZ_ZW_I G_MWO_MATRIX_WX_WY_I G_MWO_MATRIX_WZ_WW_I G_MWO_MATRIX_XX_XY_F G_MWO_MATRIX_XZ_XW_F G_MWO_MATRIX_YX_YY_F G_MWO_MATRIX_YZ_YW_F G_MWO_MATRIX_ZX_ZY_F G_MWO_MATRIX_ZZ_ZW_F G_MWO_MATRIX_WX_WY_F G_MWO_MATRIX_WZ_WW_F G_MWO_POINT_RGBA G_MWO_POINT_ST G_MWO_POINT_XYSCREEN G_MWO_POINT_ZSCREEN FR_NEG_FRUSTRATIO_ FR_POS_FRUSTRATIO_ FR_NEG_FRUSTRATIO_ FR_POS_FRUSTRATIO_ FR_NEG_FRUSTRATIO_ FR_POS_FRUSTRATIO_ FR_NEG_FRUSTRATIO_ FR_POS_FRUSTRATIO_ FR_NEG_FRUSTRATIO_ FR_POS_FRUSTRATIO_ FR_NEG_FRUSTRATIO_ FR_POS_FRUSTRATIO_ G_BZ_PERSP G_BZ_ORTHO NUMLIGHTS_0 NUMLIGHTS_1 NUMLIGHTS_2 NUMLIGHTS_3 NUMLIGHTS_4 NUMLIGHTS_5 NUMLIGHTS_6 NUMLIGHTS_7 LIGHT_1 LIGHT_2 LIGHT_3 LIGHT_4 LIGHT_5 LIGHT_6 LIGHT_7 LIGHT_8 G_TX_LOADTILE G_TX_RENDERTILE G_TX_NOMIRROR G_TX_WRAP G_TX_MIRROR G_TX_CLAMP G_TX_NOMASK G_TX_NOLOD G_TX_DXT_FRAC G_TX_LDBLK_MAX_TXL G_TX_LDBLK_MAX_TXL G_CC_MULPRIMSHADE NU_AU_CLIST_LEN NU_AU_CHANNELS NU_AU_MGR_THREAD_PRI NU_AU_HEAP_ADDR NU_AU_HEAP_SIZE NU_AU_FIFO_LENGTH NU_AU_SYN_UPDATE_MAX NU_AU_OUTPUT_RATE NU_AU_DMA_BUFFER_NUM NU_AU_DMA_BUFFER_SIZE G_NOOP G_RDPHALF_2 G_SETOTHERMODE_H G_SETOTHERMODE_L G_RDPHALF_1 G_SPNOOP G_ENDDL G_DL G_LOAD_UCODE G_MOVEMEM G_MOVEWORD G_MTX G_GEOMETRYMODE G_POPMTX G_TEXTURE G_DMA_IO G_SPECIAL_1 G_SPECIAL_2 G_SPECIAL_3 G_VTX G_MODIFYVTX G_CULLDL G_BRANCH_Z G_TRI1 G_TRI2 G_QUAD G_LINE3D G_SPNOOP G_MTX G_RESERVED0 G_MOVEMEM G_VTX G_RESERVED1 G_DL G_RESERVED2 G_RESERVED3 G_SPRITE2D_BASE NU_AU_SYN_VVOICE_MAX NU_AU_SYN_PVOICE_MAX NU_AU_SEQ_VOICE_MAX NU_AU_SEQ_EVENT_MAX NU_AU_SEQ_CHANNEL_MAX NU_AU_SND_SOUND_MAX NU_AU_SND_EVENT_MAX AL_FX_NONE OS_VI_NTSC_LPN1 OS_VI_NTSC_LPF1 OS_VI_NTSC_LAN1 OS_VI_NTSC_LAF1 OS_VI_NTSC_LPN2 OS_VI_NTSC_LPF2 OS_VI_NTSC_LAN2 OS_VI_NTSC_LAF2 OS_VI_NTSC_HPN1 OS_VI_NTSC_HPF1 OS_VI_NTSC_HAN1 OS_VI_NTSC_HAF1 OS_VI_NTSC_HPN2 OS_VI_NTSC_HPF2 OS_VI_PAL_LPN1 OS_VI_PAL_LPF1 OS_VI_PAL_LAN1 OS_VI_PAL_LAF1 OS_VI_PAL_LPN2 OS_VI_PAL_LPF2 OS_VI_PAL_LAN2 OS_VI_PAL_LAF2 OS_VI_PAL_HPN1 OS_VI_PAL_HPF1 OS_VI_PAL_HAN1 OS_VI_PAL_HAF1 OS_VI_PAL_HPN2 OS_VI_PAL_HPF2 OS_VI_MPAL_LPN1 OS_VI_MPAL_LPF1 OS_VI_MPAL_LAN1 OS_VI_MPAL_LAF1 OS_VI_MPAL_LPN2 OS_VI_MPAL_LPF2 OS_VI_MPAL_LAN2 OS_VI_MPAL_LAF2 OS_VI_MPAL_HPN1 OS_VI_MPAL_HPF1 OS_VI_MPAL_HAN1 OS_VI_MPAL_HAF1 OS_VI_MPAL_HPN2 OS_VI_MPAL_HPF2 OS_VI_FPAL_LPN1 OS_VI_FPAL_LPF1 OS_VI_FPAL_LAN1 OS_VI_FPAL_LAF1 OS_VI_FPAL_LPN2 OS_VI_FPAL_LPF2 OS_VI_FPAL_LAN2 OS_VI_FPAL_LAF2 OS_VI_FPAL_HPN1 OS_VI_FPAL_HPF1 OS_VI_FPAL_HAN1 OS_VI_FPAL_HAF1 OS_VI_FPAL_HPN2 OS_VI_FPAL_HPF2 NU_GFX_UCODE_F3DEX2 G_RM_AA_ZB_XLU_SURF2 G_RM_AA_ZB_OPA_DECAL2 G_RM_AA_ZB_XLU_DECAL2 G_RM_AA_ZB_OPA_INTER2 G_RM_AA_ZB_XLU_INTER2 G_RM_AA_ZB_XLU_LINE2 G_RM_AA_ZB_DEC_LINE2 G_RM_AA_ZB_TEX_INTER2 G_RM_AA_ZB_SUB_SURF2 G_RM_AA_ZB_PCL_SURF2 G_RM_AA_ZB_OPA_TERR2 G_RM_AA_ZB_TEX_TERR2 G_RM_AA_ZB_SUB_TERR2 G_RM_RA_ZB_OPA_SURF2 G_RM_RA_ZB_OPA_DECAL2 G_RM_RA_ZB_OPA_INTER2 G_RM_AA_XLU_SURF2 G_RM_AA_XLU_LINE2 G_RM_AA_DEC_LINE2 G_RM_AA_TEX_EDGE2 G_RM_AA_SUB_SURF2 G_RM_AA_PCL_SURF2 G_RM_AA_OPA_TERR2 G_RM_AA_TEX_TERR2 G_RM_AA_SUB_TERR2 G_RM_RA_OPA_SURF2 G_RM_ZB_OPA_DECAL2 G_RM_ZB_XLU_DECAL2 G_RM_ZB_CLD_SURF2 G_RM_ZB_OVL_SURF2 G_RM_ZB_PCL_SURF2 G_RM_CLD_SURF2 G_RM_TEX_EDGE2 G_RM_PCL_SURF2 G_RM_ADD2 G_CC_PASS2 G_CC_MODULATEI2 G_CC_MODULATEIA2 G_CC_MODULATERGB2 G_CC_MODULATERGBA2 G_CC_MODULATEI_PRIM2 G_CC_MODULATEIA_PRIM2 G_CC_MODULATERGB_PRIM2 G_CC_MODULATERGBA_PRIM2 G_CC_DECALRGB2 G_CC_BLENDI2 G_CC_BLENDIA2 G_CC_HILITERGB2 G_CC_HILITERGBA2 G_CC_HILITERGBDECALA2 G_CC_HILITERGBPASSA2 OS_PRIORITY_APPMAX
11 | if else while do NULL for return default case switch sizeof break continue goto TRUE FALSE
12 |
13 |
14 | GPACK_ZDZ gDPLoadMultiTile_4b gDPLoadMultiTile gsDPLoadMultiTile gsDPLoadMultiTile_4b LeoBootGame LeoByteToLBA LeoCACreateLeoManager LeoCJCreateLeoManager LeoClearQueue LeoCreateLeoManager LeoDriveExist LeoGetAAdr LeoGetAAdr2 LeoGetKAdr LeoInquiry LeoLBAToByte LeoModeSelectAsync LeoReadCapacity LeoReadDiskID LeoReadRTC LeoReadWrite LeoReset LeoResetClear LeoRezero LeoSeek LeoSetRTC LeoSpdlMotor LeoTestUnitReady alAudioFrame alBnkfNew alCents2Ratio alClose alCSeq alCSeqGetLoc alCSeqGetTicks alCSeqNew alCSeqNewMarker alCSeqNextEvent alCSeqSecToTicks alCSeqSetLoc alCSeqTicksToSec alCSPDelete alCSPGetChlFXMix alCSPGetChlPan alCSPGetChlPriority alCSPGetChlProgram alCSPGetChlVol alCSPGetSeq alCSPGetTempo alCSPGetVol alCSPNew alCSPPlay alCSPSendMidi alCSPSetBank alCSPSetChlFXMix alCSPSetChlPan alCSPSetChlPriority alCSPSetChlProgram alCSPSetChlVol alCSPSetSeq alCSPSetVol alCSPStop alHeapAlloc alHeapCheck alHeapInit alInit alParseAbiCL alSeq alSeqFileNew alSeqGetLoc alSeqGetTicks alSeqNew alSeqNewMarker alSeqNextEvent alSeqpDelete alSeqpGetChlFXMix alSeqpGetChlPan alSeqpGetChlPriority alSeqpGetChlProgram alSeqpGetChlVol alSeqpGetSeq alSeqpGetTempo alSeqpGetVol alSeqpLoop alSeqpNew alSeqpPlay alSeqpSendMidi alSeqpSetBank alSeqpSetChlFXMix alSeqpSetChlPan alSeqpSetChlProgram alSeqpSetChlVol alSeqpSetSeq alSeqpSetTempo alSeqpSetVol alSeqpStop alSeqSecToTicks alSeqSetLoc alSeqTicksToSec alSndpAllocate alSndpDeallocate alSndpDelete alSndpGetSound alSndpGetState alSndpNew alSndpPlay alSndpPlayAt alSndpSetFXMix alSndpSetPan alSndpSetPitch alSndpSetPriority alSndpSetSound alSndpSetVol alSndpStop alSynAddPlayer alSynAllocFX alSynAllocVoice alSynDelete alSynFreeFX alSynFreeVoice alSynGetFXRef alSynGetPriority alSynNew alSynRemovePlayer alSynSetFXMix alSynSetFXParam alSynSetPan alSynSetPitch alSynSetPriority alSynSetVol alSynStartVoice alSynStartVoiceParams alSynStopVoice n_alAudioFrame n_alClose n_alCSeqNew n_alCSeqNewMarker n_alCSPDelete n_alCSPGetChlFXMix n_alCSPGetChlPan n_alCSPGetChlPriority n_alCSPGetChlProgram n_alCSPGetChlVol n_alCSPGetSeq n_alCSPGetTempo n_alCSPGetVol n_alCSPNew n_alCSPPlay n_alCSPSetBank n_alCSPSetChlFXMix n_alCSPSetChlPan n_alCSPSetChlPriority n_alCSPSetChlProgram n_alCSPSetChlVol n_alCSPSetSeq n_alCSPSetTempo n_alCSPSetVol n_alCSPStop n_alInit n_alSeqNewMarker n_alSeqNextEvent n_alSeqpDelete n_alSeqpGetChlFXMix n_alSeqpGetChlPan n_alSeqpGetChlPriority n_alSeqpGetChlProgram n_alSeqpGetChlVol n_alSeqpGetSeq n_alSeqpGetTempo n_alSeqpGetVol n_alSeqpLoop n_alSeqpNew n_alSeqpPlay n_alSeqpSendMidi n_alSeqpSetBank n_alSeqpSetChlFXMix n_alSeqpSetChlPan n_alSeqpSetChlPriority n_alSeqpSetChlProgram n_alSeqpSetChlVol n_alSeqpSetSeq n_alSeqpSetTempo n_alSeqpSetVol n_alSeqpStop n_alSndpAllocate n_alSndpDeallocate n_alSndpDelete n_alSndpGetSound n_alSndpGetState n_alSndpNew n_alSndpPlay n_alSndpPlayAt n_alSndpSetFXMix n_alSndpSetPan n_alSndpSetPitch n_alSndpSetPriority n_alSndpSetSound n_alSndpSetVol n_alSndpStop n_alSynAddSeqPlayer n_alSynAddSndPlayer n_alSynAllocFX n_alSynAllocVoice n_alSynDelete n_alSynFreeFX n_alSynFreeVoice n_alSynGetFXRef n_alSynGetPriority n_alSynNew n_alSynRemovePlayer n_alSynSetFXMix n_alSynSetFXParam n_alSynSetPan n_alSynSetPitch n_alSynSetPriority n_alSynSetVol n_alSynStartVoice n_alSynStartVoiceParams n_alSynStopVoice bcmp bcopy bzero sprintf gDPClearOtherMode gDPEndDisplayList gDPFillRectangle gDPFullSync gDPLoadBlock gDPLoadSync gDPLoadTextureBlock gDPLoadTextureBlock_4b gDPLoadTextureTile gDPLoadTextureTile_4b gDPLoadTLUT_pal16 gDPLoadTLUT_pal256 gDPNoOp gDPNoOpTag gDPPipelineMode gDPPipeSync gDPScisFillRectangle gDPSetAlphaCompare gDPSetAlphaDither gDPSetBlendColor gDPSetColorDither gDPSetColorImage gDPSetCombineKey gDPSetCombineMode gDPSetConvert gDPSetCycleType gDPSetDepthImage gDPSetDepthSource gDPSetEnvColor gDPSetFillColor gDPSetFogColor gDPSetHilite1Tile gDPSetHilite2Tile gDPSetKeyGB gDPSetKeyR gDPSetPrimColor gDPSetPrimDepth gDPSetRenderMode gDPSetScissor gDPSetTextureConvert gDPSetTextureDetail gDPSetTextureFilter gDPSetTextureImage gDPSetTextureLOD gDPSetTextureLUT gDPSetTexturePersp gDPSetTile gDPSetTileSize gDPTileSync gsDPClearOtherMode gsDPEndDisplayList gsDPFillRectangle gsDPFullSync gsDPLoadBlock gsDPLoadSync gsDPLoadTextureBlock gsDPLoadTextureBlock_4b gsDPLoadTextureTile gsDPLoadTextureTile_4b gsDPLoadTLUT_pal16 gsDPLoadTLUT_pal256 gsDPNoOp gsDPNoOpTag gsDPPipelineMode gsDPPipeSync gsDPSetAlphaCompare gsDPSetAlphaDither gsDPSetBlendColor gsDPSetColorDither gsDPSetColorImage gsDPSetCombineKey gsDPSetCombineMode gsDPSetConvert gsDPSetCycleType gsDPSetDepthImage gsDPSetDepthSource gsDPSetEnvColor gsDPSetFillColor gsDPSetFogColor gsDPSetHilite1Tile gsDPSetHilite2Tile gsDPSetKeyGB gsDPSetKeyR gsDPSetPrimColor gsDPSetPrimDepth gsDPSetRenderMode gsDPSetScissor gsDPSetTextureConvert gsDPSetTextureDetail gsDPSetTextureFilter gsDPSetTextureImage gsDPSetTextureLOD gsDPSetTextureLUT gsDPSetTexturePersp gsDPSetTile gsDPSetTileSize gsDPTileSync gdSPDefLights0 gdSPDefLights1 gdSPDefLights2 gdSPDefLights3 gdSPDefLights4 gdSPDefLights5 gdSPDefLights6 gdSPDefLights7 gdSPDefLookAt gSP1Triangle gSP2Triangles gSPBgRect1Cyc gSPBgRectCopy gSPBranchLessZ gSPBranchLessZrg gSPBranchList gSPClearGeometryMode gSPClipRatio gSPCullDisplayList gSPDisplayList gSPEndDisplayList gSPFogPosition gSPForceMatrix gSPInsertMatrix gSPLight gSPLightColor gSPLine3D gSPLineW3D gSPLoadUcode gSPLoadUcodeL gSPLookAt gSPLookAtX gSPLookAtY gSPMatrix gSPModifyVertex gSPNumLights gSPObjLoadTxRect gSPObjLoadTxRectR gSPObjLoadTxSprite gSPObjLoadTxtr gSPObjMatrix gSPObjRectangle gSPObjRectangleR gSPObjRenderMode gSPObjSprite gSPObjSubMatrix gSPPerspNormalize gSPPopMatrix gSPScisTextureRectangle gSPSegment gSPSelectBranchDL gSPSelectDL gSPSetGeometryMode gSPSetLights0 gSPSetLights1 gSPSetLights2 gSPSetLights3 gSPSetLights4 gSPSetLights5 gSPSetLights6 gSPSetLights7 gSPSetOtherMode gSPSetStatus gSPSprite2DBase gSPSprite2DDraw gSPSprite2DScaleFlip gSPTexture gSPTextureRectangle gSPTextureRectangleFlip gSPVertex gSPViewport gsSP1Triangle gsSP2Triangles gsSPBgRect1Cyc gsSPBgRectCopy gsSPBranchLessZ gsSPBranchLessZrg gsSPBranchList gsSPClearGeometryMode gsSPClipRatio gsSPCullDisplayList gsSPDisplayList gsSPEndDisplayList gsSPFogPosition gsSPForceMatrix gsSPInsertMatrix gsSPLight gsSPLightColor gsSPLine3D gsSPLineW3D gsSPLoadUcode gsSPLoadUcodeL gsSPLookAt gsSPLookAtX gsSPLookAtY gsSPMatrix gsSPModifyVertex gsSPNumLights gsSPObjLoadTxRect gsSPObjLoadTxRectR gsSPObjLoadTxSprite gsSPObjLoadTxtr gsSPObjMatrix gsSPObjRectangle gsSPObjRectangleR gsSPObjRenderMode gsSPObjSprite gsSPObjSubMatrix gsSPPerspNormalize gsSPPopMatrix gsSPSegment gsSPSelectBranchDL gsSPSelectDL gsSPSetGeometryMode gsSPSetLights0 gsSPSetLights1 gsSPSetLights2 gsSPSetLights3 gsSPSetLights4 gsSPSetLights5 gsSPSetLights6 gsSPSetLights7 gsSPSetOtherMode gsSPSetStatus gsSPSprite2DBase gsSPSprite2DDraw gsSPSprite2DScaleFlip gsSPTexture gsSPTextureRectangle gsSPTextureRectangleFlip gsSPVertex gsSPViewport gtStateSetOthermode guAlign guAlignF guDPLoadTextureTile guFrustum guFrustumF guGetDPLoadTextureTileSz guLoadTextureBlockMipMap guLookAt guLookAtF guLookAtHilite guLookAtHiliteF guLookAtReflect guLookAtReflectF guLookAtStereo guLookAtStereoF guMtxCatF guMtxCatL guMtxF2L guMtxIdent guMtxIdentF guMtxL2F guMtxXFMF guMtxXFML guNormalize guOrtho guOrthoF guParseRdpDL guPerspective guPerspectiveF guPosition guPositionF guPosLight guPosLightHilite guRandom guRotate guRotateF guRotateRPY guRotateRPYF guS2DEmuGBgRect1Cyc guS2DEmuSetScissor guS2DInitBg guScale guScaleF guSprite2DInit guTranslate guTranslateF RAND MusAsk MusFxBankGetCurrent MusFxBankGetPtrBank MusFxBankInitialize MusFxBankNumberOfEffects MusFxBankSetCurrent MusFxBankSetPtrBank MusFxBankSetSingle MusHandleAsk MusHandleGetPtrBank MusHandlePause MusHandleSetFreqOffset MusHandleSetPan MusHandleSetReverb MusHandleSetTempo MusHandleSetVolume MusHandleStop MusHandleUnPause MusHandleWaveAddress MusHandleWaveCount MusInitialize MusPtrBankGetCurrent MusPtrBankInitialize MusPtrBankSetCurrent MusPtrBankSetSingle MusSetFxType MusSetMarkerCallback MusSetMasterVolume MusSetScheduler MusSetSongFxChange MusStartEffect MusStartEffect2 MusStartSong MusStartSongFromMarker MusStop abs acos acosf asin asinf atan atan2 atan2f atanf atof atoi atol bsearch calloc ceil ceilf cos cosf cosh coshf div exp expf fabsf floor floorf fmod fmodf free frexp frexpf hypot hypotf InitHeap isalnum isascii iscntrl isdigit islower isspace isupper isxdigit labs ldexp ldexpf ldiv log log10 log10f logf longjmp malloc malloc_memcheck malloc_memdsp memchr memcmp memcpy memmove memset modf modff pow powf qsort rand realloc setjmp sin sinf sinh sinhf sqrt sqrtf srand strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtod strtok strtol strtoul tan tanf tanh tanhf spClearAttribute spColor spDraw spFinish spInit spMove spScale spScissor spSetAttribute spSetZ uhCloseGame uhGLoad uhOpenGame uhPartnerCmd uhReadGame uhReadRamrom uhWriteGame uhWriteRamrom osAfterPreNMI osAiGetLength osAiGetStatus osAiSetFrequency osAiSetNextBuffer osCartRomInit osContGetQuery osContGetReadData osContInit osContReset osContSetCh osContStartQuery osContStartReadData osCreateLog osCreateMesgQueue osCreatePiManager osCreateRegion osCreateScheduler osCreateThread osCreateViManager osDestroyThread osDpGetCounters osDpGetStatus osDpSetNextBuffer osDpSetStatus osEepromLongRead osEepromLongWrite osEepromProbe osEepromRead osEepromWrite osEPiGetDeviceType osEPiLinkHandle osEPiRawReadIo osEPiRawStartDma osEPiRawWriteIo osEPiReadIo osEPiStartDma osEPiWriteIo osFlushLog osFree osGbpakCheckConnector osGbpakGetStatus osGbpakInit osGbpakPower osGbpakReadId osGbpakReadWrite osGetCause osGetCompare osGetConfig osGetCount osGetCurrFaultedThread osGetFpcCsr osGetIntMask osGetMemSize osGetNextFaultedThread osGetRegionBufCount osGetRegionBuffSize osGetSR osGetThreadId osGetThreadPri osGetTime osGetTLBASID osGetTLBHi osGetTLBLo0 osGetTLBLo1 osGetTLBPageMask osInitialize osInitRdb osInvalDCache osInvalICache osJamMesg osLogEvent osMalloc osMapTLB osMotorInit osMotorStart osMotorStop osPfsAllocateFile osPfsChecker osPfsDeleteFile osPfsFileState osPfsFindFile osPfsFreeBlocks osPfsGetLabel osPfsInit osPfsInitPak osPfsIsPlug osPfsNumFiles osPfsReadWriteFile osPfsRepairId osPfsReSizeFile osPfsSetLabel osPhysicalToVirtual osPiGetCmdQueue osPiGetStatus osPiRawReadIo osPiRawStartDma osPiRawWriteIo osPiReadIo osPiStartDma osPiWriteIo osProfileFlush osProfileInit osProfileStart osProfileStop osReadHost osRecvMesg osScAddClient osScGetTaskQ osScRemoveClient osSendMesg osSetCause osSetCompare osSetConfig osSetErrorHandler osSetEventMesg osSetFpcCsr osSetIntMask osSetSR osSetThreadPri osSetTime osSetTimer osSetTLBASID osSpTaskLoad osSpTaskStart osSpTaskStartGo osSpTaskYield osSpTaskYielded osStartThread osStopThread osStopTimer osUnmapTLB osUnmapTLBAll osViBlack osViExtendVStart osViFade osViGetCurrentField osViGetCurrentFramebuffer osViGetCurrentLine osViGetCurrentMode osViGetNextFramebuffer osViGetStatus osViRepeatLine osVirtualToPhysical osViSetEvent osViSetMode osViSetSpecialFeatures osViSetXScale osViSetYScale osViSwapBuffer osVoiceCheckWord osVoiceClearDictionary osVoiceControlGain osVoiceCountSyllables osVoiceGetReadData osVoiceInit osVoiceMaskDictionary osVoiceSetWord osVoiceStartReadData osVoiceStopReadData osWritebackDCache osWritebackDCacheAll osWriteHost osYieldThread OS_CYCLES_TO_NSEC OS_CYCLES_TO_USEC OS_DCACHE_ROUNDUP_ADDR OS_DCACHE_ROUNDUP_SIZE OS_K0_TO_PHYSICAL OS_K1_TO_PHYSICAL OS_NSEC_TO_CYCLES OS_PHYSICAL_TO_K0 OS_PHYSICAL_TO_K1 OS_USEC_TO_CYCLES nuScCreateScheduler nuScAddClient nuScRemoveClient nuPreNMIFuncSet nuPreNMIFuncRemove nuScGetGfxMQ nuScGetAudioMQ nuScResetClientMesgType nuScGetFrameRate nuScSetFrameBufferNum nuGfxInit nuGfxTaskMgrInit nuGfxTaskStart nuGfxFuncSet nuGfxFuncRemove nuGfxPreNMIFuncSet nuGfxPreNMIFuncRemove nuGfxSwapCfbFuncSet nuGfxSwapCfbFuncRemove nuGfxTaskEndFuncSet nuGfxTaskEndFuncRemove nuGfxSwapCfb nuGfxSetCfb nuGfxTaskAllEndWait nuGfxRetraceWait nuGfxDisplayOff nuGfxDisplayOn nuGfxSetZBuffer nuGfxSetUcode nuSiMgrInit nuSiCallBackAdd nuSiCallBackRemove nuSiMgrStop nuSiMgrRestart nuSiSendMesg nuSiSendMesgNW nuContInit nuContMgrInit nuContMgrRemove nuContDataLock nuContDataUnLock nuContDataRead nuContQueryRead nuContDataGet nuContDataGetAll nuContDataReadStart nuContDataReadWait nuContDataGetEx nuContDataGetExAll nuContReadFuncSet nuContReadFuncRemove nuContPakMgrInit nuContPakMgrRemove nuContPakOpen nuContPakFileFread nuContPakFileFwrite nuContPakFileOpen nuContPakFileOpenJis nuContPakFileReadWrite nuContPakFileRead nuContPakFileWrite nuContPakCodeSet nuContPakRepairId nuContPakJisToN64 nuContPakN64ToJis nuContPakGetFree nuContPakFileDelete nuContPakFileDeleteJis nuContPakFileState nuContPakFileNum nuContPakFileFind nuContPakFileFindJis nuContRmbMgrInit nuContRmbMgrRemove nuContRmbCheck nuContRmbStart nuContRmbStop nuContRmbModeSet nuContRmbForceStop nuContRmbForceStopEnd nuContRmbSearchTimeSet nuContGBPakMgrInit nuContGBPakMgrRemove nuContGBPakOpen nuContGBPakGetStatus nuContGBPakReadID nuContGBPakFread nuContGBPakFwrite nuContGBPakReadWrite nuContGBPakPower nuContGBPakCheckConnector nuContGBPakRegWrite nuVrsMgrInit nuVrsOpen nuVrsClearDictionary nuVrsSetWord nuVrsMaskDictionary nuVrsStartReadData nuVrsGetReadData nuVrsStopReadData nuVrsControlGain nuVrsCheckWord nuVrsCountSyllables nuEepromMgrInit nuEepromMgrRemove nuEepromCheck nuEepromRead nuEepromWrite nuAuInit nuAuInitEx nuAuMgrInit nuAuMgrInitEx nuAuPreNMIFuncSet nuAuPreNMIFuncRemove nuAuHeapAlloc nuAuHeapGetFree nuAuHeapGetUsed nuAuSeqPlayerInit nuAuSeqPlayerBankSet nuAuSeqPlayerSeqSet nuAuSeqPlayerPlay nuAuSeqPlayerSetNo nuAuSeqPlayerFadeOut nuAuSeqPlayerGetState nuAuSeqPlayerStop nuAuSeqPlayerGetSeqno nuAuSeqPlayerGetTempo nuAuSeqPlayerSetTempo nuAuSeqPlayerGetVol nuAuSeqPlayerSetVol nuAuSeqPlayerGetChlPan nuAuSeqPlayerSetChlPan nuAuSeqPlayerGetChlVol nuAuSeqPlayerSetChlVol nuAuSeqPlayerGetChlProgram nuAuSeqPlayerSetChlProgram nuAuSeqPlayerGetChlFXMix nuAuSeqPlayerSetChlFXMix nuAuSeqPlayerGetChlPriority nuAuSeqPlayerSetChlPriority nuAuSeqPlayerSendMidi nuAuSndPlayerInit nuAuSndPlayerBankSet nuAuSndPlayerPlay nuAuSndPlayerSetSound nuAuSndPlayerStop nuAuSndPlayerGetState nuAuSndPlayerSetPitch nuAuSndPlayerSetVol nuAuSndPlayerSetPan nuAuSndPlayerSetPriority nuAuSndPlayerSetFXMix nuAuStlInit nuAuStlMgrInit nuAuStlPtrBankInit nuAuStlPtrBankSet nuAuStlHeapAlloc nuAuStlHeapGetFree nuAuStlHeapGetUsed nuAuStlSeqPlayerInit nuAuStlSeqPlayerDataSet nuAuStlSeqPlayerPlay nuAuStlSeqPlayerGetState nuAuStlSeqPlayerStop nuAuStlSeqPlayerSetMasterVol nuAuStlSeqPlayerGetSeqState nuAuStlSeqPlayerSeqStop nuAuStlSeqPlayerSetSeqTempo nuAuStlSeqPlayerSetSeqVol nuAuStlSeqPlayerSetSeqPan nuAuStlSndPlayerPlay nuAuStlSndPlayerPlay2 nuAuStlSndPlayerGetState nuAuStlSndPlayerStop nuAuStlSndPlayerSetMasterVol nuAuStlSndPlayerGetSndState nuAuStlSndPlayerSndStop nuAuStlSndPlayerSetSndVol nuAuStlSndPlayerSetSndPan nuAuStlSndPlayerSetSndPitch nuPiInit nuPiReadRom nuPiInitSram nuPiReadWriteSram nuPiReadSram nuPiWriteSram nuDebTaskPerfBar0 nuDebTaskPerfBar0EX2 nuDebTaskPerfBar1 nuDebTaskPerfBar1EX2 nuDebConDisp nuDebConDispEX2 nuDebConPrintf nuDebConWindowSet nuDebConWindowSize nuDebConWindowPos nuDebConWindowShow nuDebConScroll nuDebConTextColor nuDebConTextPos nuDebConTextAttr nuDebConClear nuDebConPutc nuDebConCPuts nuDebConPuts GPACK_RGBA5551 gSPSetLights1 gSPSetLights2 gSPSetLights3 gSPSetLights4 gSPSetLights5 gSPSetLights6 gSPSetLights7 gsSPSetLights1 gsSPSetLights2 gsSPSetLights3 gsSPSetLights4 gsSPSetLights5 gsSPSetLights6 gsSPSetLights7 uhOpenGame uhCloseGame uhReadGame uhWriteGame uhWriteRamrom uhReadRamrom uhPartnerCmd uhGload
15 |
16 |
17 | osSyncPrintf nuContPakFileReSize nuContPakFileReSizeJis nuContPakFuncSet nuContPakFuncRemove nuContRmbFuncSet nuContRmbFuncRemove nuAuStlPlayerInit nuAuStlBankSet nuAuStlSeqPlayerSetData LeoModeSelect alCSPGetChannelPriority alCSPGetFXMix alCSPGetPan alCSPGetProgram alCSPGetTime alCSPSetChannelPriority alCSPSetFXMix alCSPSetPan alCSPSetProgram alCSPSetTempo alCSPSetTime alSeqpGetChannelPriority alSeqpGetFXMix alSeqpGetPan alSeqpGetProgram alSeqpGetTime alSeqpSetChannelPriority alSeqpSetChlPriority alSeqpSetFXMix alSeqpSetPan alSeqpSetProgram alSeqpSetTime alSndpHeapSize alSynHeapSize gSPNearClip gsSPNearClip guDumpGbiDL guParseGbiDL osAckRamromRead osAckRamromWrite osTestHost
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/N64C.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/buu342/NPP-N64SyntaxHighlighter/c3ed3d1fec454fef6e23124b66c897d6013c55d7/N64C.dll
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Nintendo 64 C Notepad++ Syntax Highlighter
2 | Provides Syntax Highlighting and Auto-Completion functions for Nintendo 64 C. For use with Notepad++.
3 | 
4 |
5 | ### Installation
6 | If you are unsure of your Notepad++ version, simply Launch the program and go to ? -> About Notepad++ (Shortcut F1)
7 |
8 | Notepad++ 7.7 or higher
9 |
10 |
11 | 1. Download this repository
12 | 2. From the downloaded repository, open the APIs folder, copy the `C (N64).xml`, and paste it into the `autoCompletion` folder inside the Notepad++ install folder (for example `C:/Program Files/Notepad++/`).
13 | 3. Launch Notepad++
14 | 4. Click Language -> User Defined Language -> Define your language...
15 | 5. Click Import...
16 | 6. Go to the `UDL` folder inside the downloaded repository, and import the `.xml` file. It should say "import successful". You might need to restart Notepad++.
17 | 7. Open a Nintendo 64 C source file
18 | 8. Click Language -> C (N64). Since it is a UDL, it should be at the bottom.
19 | 9. Click on Settings -> Preferences -> Auto-Completion, enable both Auto-Completion and Function parameters hints
20 |
21 |
22 |
23 | Notepad++ 7.6
24 |
25 |
26 | 1. Download this repository
27 | 2. Go to your Notepad++ install folder (for example `C:/Program Files/Notepad++/`)
28 | 3. Place the APIs folder inside the `Notepad++/plugins` folder
29 | 4. Go to `C:/ProgramData/Notepad++/plugins` and create a new folder called N64C and place the .dll in there. Then go to `C:/Users/YOURUSERNAME/AppData/Roaming/Notepad++/plugins/` and place the config folder in here, overwriting if necessary.
30 | 5. Launch Notepad++
31 | 6. Open a Nintendo 64 C source file
32 | 7. Click Language -> C (N64)
33 | 8. Click on Settings -> Preferences -> Auto-Completion, enable both Auto-Completion and Function parameters hints
34 |
35 |
36 |
37 | Notepad++ 7.5 or lower
38 |
39 |
40 | 1. Download this repository
41 | 2. Go to your Notepad++ install folder (for example `C:/Program Files/Notepad++/`)
42 | 3. Place the APIs folder inside the `Notepad++/plugins` folder
43 | 4. Place the .dll and Config folder in here as well.
44 | 5. Launch Notepad++
45 | 6. Open a Nintendo 64 C source file
46 | 7. Click language -> C (N64)
47 | 8. Click on Settings -> Preferences -> Auto-Completion, enable both Auto-Completion and Function parameters hints
48 |
49 |
50 |
51 |
52 | ### Configuration
53 | Notepad++ 7.7 or higher
54 |
55 |
56 | **Highlighting -** Language -> User Defined Language -> Define your language..., select `C (N64)` from the dropdown, and modify to your liking. Alternatively, go to `C:/Users/YOURUSERNAME/AppData/Roaming/Notepad++/` and modify `userDefineLang.xml`. Alternatively, manually edit the XML file and re-import it (make sure you remove the old one first or you'll have duplicate entries).
57 |
58 | **Autocompletion -** Edit the XML file inside the `Notepad++/autoCompletion` folder
59 |
60 |
61 |
62 | Notepad++ 7.6 or lower
63 |
64 |
65 | **Highlighting -** Settings -> Style Configurator -> C (N64), or edit the XML file inside the config folder.
66 |
67 | **Autocompletion -** Edit the XML file inside the `Notepad++/plugins/APIs` folder
68 |
69 |
70 |
71 |
72 | ### How to compile the source code
73 | 1. Download and install a copy of [Visual Studio 2008](https://www.microsoft.com/en-us/download/details.aspx?id=7873).
74 | 2. Download a copy of [Notepad++ 5.8's source code](https://github.com/notepad-plus-plus/notepad-plus-plus/releases/tag/v5.8).
75 | 3. Place the NP++ Source code in a folder.
76 | 4. Place this syntax highlighter's source code in the same folder so it is next to the PowerEditor and Scintilla folders.
77 | 5. Rename the sourcecode folder to N64C
78 | 6. Open the project in Visual Studio 8.
79 | 7. Ensure that you are compiling as "Unicode Release".
80 | 8. Compile Scintilla, then compile PowerEditor, then compile this syntax highlighter.
81 |
82 | ### Bugs
83 | Notepad++ 7.7 or higher
84 |
85 |
86 | * Comment Doc highlighting is not supported
87 |
88 |
89 |
90 | Notepad++ 7.6 or lower
91 |
92 |
93 | * #if and #end macros will not have code folding if there is a space between the hastag and first character (example, # if)
94 | * The F in a floating point number is not highlighted (example, 10.0F). L is also not highlighted.
95 |
96 |
97 |
98 | Please notify me about missing functions so that I can add them to the XML file.
99 |
100 | ### FAQ
101 | **Q:** Function 'X' is missing or has something wrong.
102 | **A:** You can correct it by editing the XML file, but please contact me too so I can correct it for everyone else!
103 |
104 | **Q:** Can you make this for "Editor Name Here"?
105 | **A:** I don't use "Editor Name Here" so I can't help much, however given how easy it is to open the XML file there's nothing stopping you from grabbing all the function names and adding them yourself
106 |
107 | ### Special Thanks
108 | Kyle Fleming (aka Garthex) for the original plugin.
109 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldAccessor.h:
--------------------------------------------------------------------------------
1 | // Scintilla source code edit control
2 | /** @file Accessor.h
3 | ** Rapid easy access to contents of a Scintilla.
4 | **/
5 | // Copyright 1998-2001 by Neil Hodgson
6 | // The License.txt file describes the conditions under which this software may be distributed.
7 |
8 | enum { wsSpace = 1, wsTab = 2, wsSpaceTab = 4, wsInconsistent=8};
9 |
10 | class Accessor;
11 |
12 | typedef bool (*PFNIsCommentLeader)(Accessor &styler, int pos, int len);
13 |
14 | /**
15 | * Interface to data in a Scintilla.
16 | */
17 | class Accessor {
18 | protected:
19 | enum {extremePosition=0x7FFFFFFF};
20 | /** @a bufferSize is a trade off between time taken to copy the characters
21 | * and retrieval overhead.
22 | * @a slopSize positions the buffer before the desired position
23 | * in case there is some backtracking. */
24 | enum {bufferSize=4000, slopSize=bufferSize/8};
25 | char buf[bufferSize+1];
26 | int startPos;
27 | int endPos;
28 | int codePage;
29 |
30 | virtual bool InternalIsLeadByte(char ch)=0;
31 | virtual void Fill(int position)=0;
32 |
33 | public:
34 | Accessor() : startPos(extremePosition), endPos(0), codePage(0) {}
35 | virtual ~Accessor() {}
36 | char operator[](int position) {
37 | if (position < startPos || position >= endPos) {
38 | Fill(position);
39 | }
40 | return buf[position - startPos];
41 | }
42 | /** Safe version of operator[], returning a defined value for invalid position. */
43 | char SafeGetCharAt(int position, char chDefault=' ') {
44 | if (position < startPos || position >= endPos) {
45 | Fill(position);
46 | if (position < startPos || position >= endPos) {
47 | // Position is outside range of document
48 | return chDefault;
49 | }
50 | }
51 | return buf[position - startPos];
52 | }
53 | bool IsLeadByte(char ch) {
54 | return codePage && InternalIsLeadByte(ch);
55 | }
56 | void SetCodePage(int codePage_) { codePage = codePage_; }
57 |
58 | virtual bool Match(int pos, const char *s)=0;
59 | virtual char StyleAt(int position)=0;
60 | virtual int GetLine(int position)=0;
61 | virtual int LineStart(int line)=0;
62 | virtual int LevelAt(int line)=0;
63 | virtual int Length()=0;
64 | virtual void Flush()=0;
65 | virtual int GetLineState(int line)=0;
66 | virtual int SetLineState(int line, int state)=0;
67 | virtual int GetPropertyInt(const char *key, int defaultValue=0)=0;
68 | virtual char *GetProperties()=0;
69 |
70 | // Style setting
71 | virtual void StartAt(unsigned int start, char chMask=31)=0;
72 | virtual void SetFlags(char chFlags_, char chWhile_)=0;
73 | virtual unsigned int GetStartSegment()=0;
74 | virtual void StartSegment(unsigned int pos)=0;
75 | virtual void ColourTo(unsigned int pos, int chAttr)=0;
76 | virtual void SetLevel(int line, int level)=0;
77 | virtual int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0)=0;
78 | virtual void IndicatorFill(int start, int end, int indicator, int value)=0;
79 | };
80 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldFontQuality.h:
--------------------------------------------------------------------------------
1 | // Scintilla source code edit control
2 | /** @file FontQuality.h
3 | ** Definitions to control font anti-aliasing.
4 | **/
5 | // Copyright 1998-2009 by Neil Hodgson
6 | // The License.txt file describes the conditions under which this software may be distributed.
7 |
8 | #define SC_EFF_QUALITY_MASK 0xF
9 | #define SC_EFF_QUALITY_DEFAULT 0
10 | #define SC_EFF_QUALITY_NON_ANTIALIASED 1
11 | #define SC_EFF_QUALITY_ANTIALIASED 2
12 | #define SC_EFF_QUALITY_LCD_OPTIMIZED 3
13 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldKeyWords.cxx:
--------------------------------------------------------------------------------
1 | // Scintilla source code edit control
2 | /** @file KeyWords.cxx
3 | ** Colourise for particular languages.
4 | **/
5 | // Copyright 1998-2002 by Neil Hodgson
6 | // The License.txt file describes the conditions under which this software may be distributed.
7 |
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 | #define SCI_NAMESPACE
15 |
16 | #include "OldPlatform.h"
17 |
18 | #include "OldPropSet.h"
19 | #include "OldAccessor.h"
20 | #include "OldKeyWords.h"
21 | #include "OldScintilla.h"
22 | #include "OldSciLexer.h"
23 |
24 | #ifdef SCI_NAMESPACE
25 | using namespace Scintilla;
26 | #endif
27 |
28 | /**
29 | * Creates an array that points into each word in the string and puts \0 terminators
30 | * after each word.
31 | */
32 | static char **ArrayFromWordList(char *wordlist, int *len, bool onlyLineEnds = false) {
33 | int prev = '\n';
34 | int words = 0;
35 | // For rapid determination of whether a character is a separator, build
36 | // a look up table.
37 | bool wordSeparator[256];
38 | for (int i=0; i<256; i++) {
39 | wordSeparator[i] = false;
40 | }
41 | wordSeparator['\r'] = true;
42 | wordSeparator['\n'] = true;
43 | if (!onlyLineEnds) {
44 | wordSeparator[' '] = true;
45 | wordSeparator['\t'] = true;
46 | }
47 | for (int j = 0; wordlist[j]; j++) {
48 | int curr = static_cast(wordlist[j]);
49 | if (!wordSeparator[curr] && wordSeparator[prev])
50 | words++;
51 | prev = curr;
52 | }
53 | char **keywords = new char *[words + 1];
54 | if (keywords) {
55 | words = 0;
56 | prev = '\0';
57 | size_t slen = strlen(wordlist);
58 | for (size_t k = 0; k < slen; k++) {
59 | if (!wordSeparator[static_cast(wordlist[k])]) {
60 | if (!prev) {
61 | keywords[words] = &wordlist[k];
62 | words++;
63 | }
64 | } else {
65 | wordlist[k] = '\0';
66 | }
67 | prev = wordlist[k];
68 | }
69 | keywords[words] = &wordlist[slen];
70 | *len = words;
71 | } else {
72 | *len = 0;
73 | }
74 | return keywords;
75 | }
76 |
77 | void WordList::Clear() {
78 | if (words) {
79 | delete []list;
80 | delete []words;
81 | }
82 | words = 0;
83 | list = 0;
84 | len = 0;
85 | sorted = false;
86 | }
87 |
88 | void WordList::Set(const char *s) {
89 | list = new char[strlen(s) + 1];
90 | strcpy(list, s);
91 | sorted = false;
92 | words = ArrayFromWordList(list, &len, onlyLineEnds);
93 | }
94 |
95 | int cmpString(const void *a1, const void *a2) {
96 | // Can't work out the correct incantation to use modern casts here
97 | return strcmp(*(char **)(a1), *(char **)(a2));
98 | }
99 |
100 | static void SortWordList(char **words, unsigned int len) {
101 | qsort(reinterpret_cast(words), len, sizeof(*words),
102 | cmpString);
103 | }
104 |
105 | bool WordList::InList(const char *s) {
106 | if (0 == words)
107 | return false;
108 | if (!sorted) {
109 | sorted = true;
110 | SortWordList(words, len);
111 | for (unsigned int k = 0; k < (sizeof(starts) / sizeof(starts[0])); k++)
112 | starts[k] = -1;
113 | for (int l = len - 1; l >= 0; l--) {
114 | unsigned char indexChar = words[l][0];
115 | starts[indexChar] = l;
116 | }
117 | }
118 | unsigned char firstChar = s[0];
119 | int j = starts[firstChar];
120 | if (j >= 0) {
121 | while ((unsigned char)words[j][0] == firstChar) {
122 | if (s[1] == words[j][1]) {
123 | const char *a = words[j] + 1;
124 | const char *b = s + 1;
125 | while (*a && *a == *b) {
126 | a++;
127 | b++;
128 | }
129 | if (!*a && !*b)
130 | return true;
131 | }
132 | j++;
133 | }
134 | }
135 | j = starts['^'];
136 | if (j >= 0) {
137 | while (words[j][0] == '^') {
138 | const char *a = words[j] + 1;
139 | const char *b = s;
140 | while (*a && *a == *b) {
141 | a++;
142 | b++;
143 | }
144 | if (!*a)
145 | return true;
146 | j++;
147 | }
148 | }
149 | return false;
150 | }
151 |
152 | /** similar to InList, but word s can be a substring of keyword.
153 | * eg. the keyword define is defined as def~ine. This means the word must start
154 | * with def to be a keyword, but also defi, defin and define are valid.
155 | * The marker is ~ in this case.
156 | */
157 | bool WordList::InListAbbreviated(const char *s, const char marker) {
158 | if (0 == words)
159 | return false;
160 | if (!sorted) {
161 | sorted = true;
162 | SortWordList(words, len);
163 | for (unsigned int k = 0; k < (sizeof(starts) / sizeof(starts[0])); k++)
164 | starts[k] = -1;
165 | for (int l = len - 1; l >= 0; l--) {
166 | unsigned char indexChar = words[l][0];
167 | starts[indexChar] = l;
168 | }
169 | }
170 | unsigned char firstChar = s[0];
171 | int j = starts[firstChar];
172 | if (j >= 0) {
173 | while (words[j][0] == firstChar) {
174 | bool isSubword = false;
175 | int start = 1;
176 | if (words[j][1] == marker) {
177 | isSubword = true;
178 | start++;
179 | }
180 | if (s[1] == words[j][start]) {
181 | const char *a = words[j] + start;
182 | const char *b = s + 1;
183 | while (*a && *a == *b) {
184 | a++;
185 | if (*a == marker) {
186 | isSubword = true;
187 | a++;
188 | }
189 | b++;
190 | }
191 | if ((!*a || isSubword) && !*b)
192 | return true;
193 | }
194 | j++;
195 | }
196 | }
197 | j = starts['^'];
198 | if (j >= 0) {
199 | while (words[j][0] == '^') {
200 | const char *a = words[j] + 1;
201 | const char *b = s;
202 | while (*a && *a == *b) {
203 | a++;
204 | b++;
205 | }
206 | if (!*a)
207 | return true;
208 | j++;
209 | }
210 | }
211 | return false;
212 | }
213 |
214 | const LexerModule *LexerModule::base = 0;
215 | int LexerModule::nextLanguage = SCLEX_AUTOMATIC+1;
216 |
217 | LexerModule::LexerModule(int language_,
218 | LexerFunction fnLexer_,
219 | const char *languageName_,
220 | LexerFunction fnFolder_,
221 | const char *const wordListDescriptions_[],
222 | int styleBits_) :
223 | language(language_),
224 | fnLexer(fnLexer_),
225 | fnFolder(fnFolder_),
226 | wordListDescriptions(wordListDescriptions_),
227 | styleBits(styleBits_),
228 | languageName(languageName_) {
229 | next = base;
230 | base = this;
231 | if (language == SCLEX_AUTOMATIC) {
232 | language = nextLanguage;
233 | nextLanguage++;
234 | }
235 | }
236 |
237 | int LexerModule::GetNumWordLists() const {
238 | if (wordListDescriptions == NULL) {
239 | return -1;
240 | } else {
241 | int numWordLists = 0;
242 |
243 | while (wordListDescriptions[numWordLists]) {
244 | ++numWordLists;
245 | }
246 |
247 | return numWordLists;
248 | }
249 | }
250 |
251 | const char *LexerModule::GetWordListDescription(int index) const {
252 | static const char *emptyStr = "";
253 |
254 | PLATFORM_ASSERT(index < GetNumWordLists());
255 | if (index >= GetNumWordLists()) {
256 | return emptyStr;
257 | } else {
258 | return wordListDescriptions[index];
259 | }
260 | }
261 |
262 | int LexerModule::GetStyleBitsNeeded() const {
263 | return styleBits;
264 | }
265 |
266 | const LexerModule *LexerModule::Find(int language) {
267 | const LexerModule *lm = base;
268 | while (lm) {
269 | if (lm->language == language) {
270 | return lm;
271 | }
272 | lm = lm->next;
273 | }
274 | return 0;
275 | }
276 |
277 | const LexerModule *LexerModule::Find(const char *languageName) {
278 | if (languageName) {
279 | const LexerModule *lm = base;
280 | while (lm) {
281 | if (lm->languageName && 0 == strcmp(lm->languageName, languageName)) {
282 | return lm;
283 | }
284 | lm = lm->next;
285 | }
286 | }
287 | return 0;
288 | }
289 |
290 | void LexerModule::Lex(unsigned int startPos, int lengthDoc, int initStyle,
291 | WordList *keywordlists[], Accessor &styler) const {
292 | if (fnLexer)
293 | fnLexer(startPos, lengthDoc, initStyle, keywordlists, styler);
294 | }
295 |
296 | void LexerModule::Fold(unsigned int startPos, int lengthDoc, int initStyle,
297 | WordList *keywordlists[], Accessor &styler) const {
298 | if (fnFolder) {
299 | int lineCurrent = styler.GetLine(startPos);
300 | // Move back one line in case deletion wrecked current line fold state
301 | if (lineCurrent > 0) {
302 | lineCurrent--;
303 | int newStartPos = styler.LineStart(lineCurrent);
304 | lengthDoc += startPos - newStartPos;
305 | startPos = newStartPos;
306 | initStyle = 0;
307 | if (startPos > 0) {
308 | initStyle = styler.StyleAt(startPos - 1);
309 | }
310 | }
311 | fnFolder(startPos, lengthDoc, initStyle, keywordlists, styler);
312 | }
313 | }
314 |
315 | // Alternative historical name for Scintilla_LinkLexers
316 | int wxForceScintillaLexers(void) {
317 | return Scintilla_LinkLexers();
318 | }
319 |
320 | // To add or remove a lexer, add or remove its file and run LexGen.py.
321 |
322 | // Force a reference to all of the Scintilla lexers so that the linker will
323 | // not remove the code of the lexers.
324 | int Scintilla_LinkLexers() {
325 | static int forcer = 0;
326 |
327 | // Shorten the code that declares a lexer and ensures it is linked in by calling a method.
328 | #define LINK_LEXER(lexer) extern LexerModule lexer; forcer += lexer.GetLanguage();
329 |
330 | //++Autogenerated -- run src/LexGen.py to regenerate
331 | //**\(\tLINK_LEXER(\*);\n\)
332 | //--Autogenerated -- end of automatically generated section
333 |
334 | return 1;
335 | }
336 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldKeyWords.h:
--------------------------------------------------------------------------------
1 | // Scintilla source code edit control
2 | /** @file KeyWords.h
3 | ** Colourise for particular languages.
4 | **/
5 | // Copyright 1998-2001 by Neil Hodgson
6 | // The License.txt file describes the conditions under which this software may be distributed.
7 |
8 | #ifdef SCI_NAMESPACE
9 | namespace Scintilla {
10 | #endif
11 |
12 | /**
13 | */
14 | class WordList {
15 | public:
16 | // Each word contains at least one character - a empty word acts as sentinel at the end.
17 | char **words;
18 | char *list;
19 | int len;
20 | bool onlyLineEnds; ///< Delimited by any white space or only line ends
21 | bool sorted;
22 | int starts[256];
23 | WordList(bool onlyLineEnds_ = false) :
24 | words(0), list(0), len(0), onlyLineEnds(onlyLineEnds_),
25 | sorted(false)
26 | {}
27 | ~WordList() { Clear(); }
28 | operator bool() { return len ? true : false; }
29 | void Clear();
30 | void Set(const char *s);
31 | bool InList(const char *s);
32 | bool InListAbbreviated(const char *s, const char marker);
33 | };
34 |
35 | typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyle,
36 | WordList *keywordlists[], Accessor &styler);
37 |
38 | /**
39 | * A LexerModule is responsible for lexing and folding a particular language.
40 | * The class maintains a list of LexerModules which can be searched to find a
41 | * module appropriate to a particular language.
42 | */
43 | class LexerModule {
44 | protected:
45 | const LexerModule *next;
46 | int language;
47 | LexerFunction fnLexer;
48 | LexerFunction fnFolder;
49 | const char * const * wordListDescriptions;
50 | int styleBits;
51 |
52 | static const LexerModule *base;
53 | static int nextLanguage;
54 |
55 | public:
56 | const char *languageName;
57 | LexerModule(int language_,
58 | LexerFunction fnLexer_,
59 | const char *languageName_=0,
60 | LexerFunction fnFolder_=0,
61 | const char * const wordListDescriptions_[] = NULL,
62 | int styleBits_=5);
63 | virtual ~LexerModule() {
64 | }
65 | int GetLanguage() const { return language; }
66 |
67 | // -1 is returned if no WordList information is available
68 | int GetNumWordLists() const;
69 | const char *GetWordListDescription(int index) const;
70 |
71 | int GetStyleBitsNeeded() const;
72 |
73 | virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle,
74 | WordList *keywordlists[], Accessor &styler) const;
75 | virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle,
76 | WordList *keywordlists[], Accessor &styler) const;
77 | static const LexerModule *Find(int language);
78 | static const LexerModule *Find(const char *languageName);
79 | };
80 |
81 | #ifdef SCI_NAMESPACE
82 | }
83 | #endif
84 |
85 | /**
86 | * Check if a character is a space.
87 | * This is ASCII specific but is safe with chars >= 0x80.
88 | */
89 | inline bool isspacechar(unsigned char ch) {
90 | return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d));
91 | }
92 |
93 | inline bool iswordchar(char ch) {
94 | return isascii(ch) && (isalnum(ch) || ch == '.' || ch == '_');
95 | }
96 |
97 | inline bool iswordstart(char ch) {
98 | return isascii(ch) && (isalnum(ch) || ch == '_');
99 | }
100 |
101 | inline bool isoperator(char ch) {
102 | if (isascii(ch) && isalnum(ch))
103 | return false;
104 | // '.' left out as it is used to make up numbers
105 | if (ch == '%' || ch == '^' || ch == '&' || ch == '*' ||
106 | ch == '(' || ch == ')' || ch == '-' || ch == '+' ||
107 | ch == '=' || ch == '|' || ch == '{' || ch == '}' ||
108 | ch == '[' || ch == ']' || ch == ':' || ch == ';' ||
109 | ch == '<' || ch == '>' || ch == ',' || ch == '/' ||
110 | ch == '?' || ch == '!' || ch == '.' || ch == '~')
111 | return true;
112 | return false;
113 | }
114 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldPlatform.h:
--------------------------------------------------------------------------------
1 | // Scintilla source code edit control
2 | /** @file Platform.h
3 | ** Interface to platform facilities. Also includes some basic utilities.
4 | ** Implemented in PlatGTK.cxx for GTK+/Linux, PlatWin.cxx for Windows, and PlatWX.cxx for wxWindows.
5 | **/
6 | // Copyright 1998-2009 by Neil Hodgson
7 | // The License.txt file describes the conditions under which this software may be distributed.
8 |
9 | #ifndef PLATFORM_H
10 | #define PLATFORM_H
11 |
12 | // PLAT_GTK = GTK+ on Linux or Win32
13 | // PLAT_GTK_WIN32 is defined additionally when running PLAT_GTK under Win32
14 | // PLAT_WIN = Win32 API on Win32 OS
15 | // PLAT_WX is wxWindows on any supported platform
16 |
17 | #define PLAT_GTK 0
18 | #define PLAT_GTK_WIN32 0
19 | #define PLAT_MACOSX 0
20 | #define PLAT_WIN 0
21 | #define PLAT_WX 0
22 | #define PLAT_FOX 0
23 |
24 | #if defined(FOX)
25 | #undef PLAT_FOX
26 | #define PLAT_FOX 1
27 |
28 | #elif defined(__WX__)
29 | #undef PLAT_WX
30 | #define PLAT_WX 1
31 |
32 | #elif defined(GTK)
33 | #undef PLAT_GTK
34 | #define PLAT_GTK 1
35 |
36 | #if defined(__WIN32__) || defined(_MSC_VER)
37 | #undef PLAT_GTK_WIN32
38 | #define PLAT_GTK_WIN32 1
39 | #endif
40 |
41 | #elif defined(__APPLE__)
42 |
43 | #undef PLAT_MACOSX
44 | #define PLAT_MACOSX 1
45 |
46 | #else
47 | #undef PLAT_WIN
48 | #define PLAT_WIN 1
49 |
50 | #endif
51 |
52 | #ifdef SCI_NAMESPACE
53 | namespace Scintilla {
54 | #endif
55 |
56 | // Underlying the implementation of the platform classes are platform specific types.
57 | // Sometimes these need to be passed around by client code so they are defined here
58 |
59 | typedef void *FontID;
60 | typedef void *SurfaceID;
61 | typedef void *WindowID;
62 | typedef void *MenuID;
63 | typedef void *TickerID;
64 | typedef void *Function;
65 | typedef void *IdlerID;
66 |
67 | /**
68 | * A geometric point class.
69 | * Point is exactly the same as the Win32 POINT and GTK+ GdkPoint so can be used interchangeably.
70 | */
71 | class Point {
72 | public:
73 | int x;
74 | int y;
75 |
76 | explicit Point(int x_=0, int y_=0) : x(x_), y(y_) {
77 | }
78 |
79 | // Other automatically defined methods (assignment, copy constructor, destructor) are fine
80 |
81 | static Point FromLong(long lpoint);
82 | };
83 |
84 | /**
85 | * A geometric rectangle class.
86 | * PRectangle is exactly the same as the Win32 RECT so can be used interchangeably.
87 | * PRectangles contain their top and left sides, but not their right and bottom sides.
88 | */
89 | class PRectangle {
90 | public:
91 | int left;
92 | int top;
93 | int right;
94 | int bottom;
95 |
96 | PRectangle(int left_=0, int top_=0, int right_=0, int bottom_ = 0) :
97 | left(left_), top(top_), right(right_), bottom(bottom_) {
98 | }
99 |
100 | // Other automatically defined methods (assignment, copy constructor, destructor) are fine
101 |
102 | bool operator==(PRectangle &rc) {
103 | return (rc.left == left) && (rc.right == right) &&
104 | (rc.top == top) && (rc.bottom == bottom);
105 | }
106 | bool Contains(Point pt) {
107 | return (pt.x >= left) && (pt.x <= right) &&
108 | (pt.y >= top) && (pt.y <= bottom);
109 | }
110 | bool Contains(PRectangle rc) {
111 | return (rc.left >= left) && (rc.right <= right) &&
112 | (rc.top >= top) && (rc.bottom <= bottom);
113 | }
114 | bool Intersects(PRectangle other) {
115 | return (right > other.left) && (left < other.right) &&
116 | (bottom > other.top) && (top < other.bottom);
117 | }
118 | void Move(int xDelta, int yDelta) {
119 | left += xDelta;
120 | top += yDelta;
121 | right += xDelta;
122 | bottom += yDelta;
123 | }
124 | int Width() { return right - left; }
125 | int Height() { return bottom - top; }
126 | bool Empty() {
127 | return (Height() <= 0) || (Width() <= 0);
128 | }
129 | };
130 |
131 | /**
132 | * In some circumstances, including Win32 in paletted mode and GTK+, each colour
133 | * must be allocated before use. The desired colours are held in the ColourDesired class,
134 | * and after allocation the allocation entry is stored in the ColourAllocated class. In other
135 | * circumstances, such as Win32 in true colour mode, the allocation process just copies
136 | * the RGB values from the desired to the allocated class.
137 | * As each desired colour requires allocation before it can be used, the ColourPair class
138 | * holds both a ColourDesired and a ColourAllocated
139 | * The Palette class is responsible for managing the palette of colours which contains a
140 | * list of ColourPair objects and performs the allocation.
141 | */
142 |
143 | /**
144 | * Holds a desired RGB colour.
145 | */
146 | class ColourDesired {
147 | long co;
148 | public:
149 | ColourDesired(long lcol=0) {
150 | co = lcol;
151 | }
152 |
153 | ColourDesired(unsigned int red, unsigned int green, unsigned int blue) {
154 | Set(red, green, blue);
155 | }
156 |
157 | bool operator==(const ColourDesired &other) const {
158 | return co == other.co;
159 | }
160 |
161 | void Set(long lcol) {
162 | co = lcol;
163 | }
164 |
165 | void Set(unsigned int red, unsigned int green, unsigned int blue) {
166 | co = red | (green << 8) | (blue << 16);
167 | }
168 |
169 | static inline unsigned int ValueOfHex(const char ch) {
170 | if (ch >= '0' && ch <= '9')
171 | return ch - '0';
172 | else if (ch >= 'A' && ch <= 'F')
173 | return ch - 'A' + 10;
174 | else if (ch >= 'a' && ch <= 'f')
175 | return ch - 'a' + 10;
176 | else
177 | return 0;
178 | }
179 |
180 | void Set(const char *val) {
181 | if (*val == '#') {
182 | val++;
183 | }
184 | unsigned int r = ValueOfHex(val[0]) * 16 + ValueOfHex(val[1]);
185 | unsigned int g = ValueOfHex(val[2]) * 16 + ValueOfHex(val[3]);
186 | unsigned int b = ValueOfHex(val[4]) * 16 + ValueOfHex(val[5]);
187 | Set(r, g, b);
188 | }
189 |
190 | long AsLong() const {
191 | return co;
192 | }
193 |
194 | unsigned int GetRed() {
195 | return co & 0xff;
196 | }
197 |
198 | unsigned int GetGreen() {
199 | return (co >> 8) & 0xff;
200 | }
201 |
202 | unsigned int GetBlue() {
203 | return (co >> 16) & 0xff;
204 | }
205 | };
206 |
207 | /**
208 | * Holds an allocated RGB colour which may be an approximation to the desired colour.
209 | */
210 | class ColourAllocated {
211 | long coAllocated;
212 |
213 | public:
214 |
215 | ColourAllocated(long lcol=0) {
216 | coAllocated = lcol;
217 | }
218 |
219 | void Set(long lcol) {
220 | coAllocated = lcol;
221 | }
222 |
223 | long AsLong() const {
224 | return coAllocated;
225 | }
226 | };
227 |
228 | /**
229 | * Colour pairs hold a desired colour and an allocated colour.
230 | */
231 | struct ColourPair {
232 | ColourDesired desired;
233 | ColourAllocated allocated;
234 |
235 | ColourPair(ColourDesired desired_=ColourDesired(0,0,0)) {
236 | desired = desired_;
237 | allocated.Set(desired.AsLong());
238 | }
239 | void Copy() {
240 | allocated.Set(desired.AsLong());
241 | }
242 | };
243 |
244 | class Window; // Forward declaration for Palette
245 |
246 | /**
247 | * Colour palette management.
248 | */
249 | class Palette {
250 | int used;
251 | int size;
252 | ColourPair *entries;
253 | #if PLAT_GTK
254 | void *allocatedPalette; // GdkColor *
255 | int allocatedLen;
256 | #endif
257 | // Private so Palette objects can not be copied
258 | Palette(const Palette &) {}
259 | Palette &operator=(const Palette &) { return *this; }
260 | public:
261 | #if PLAT_WIN
262 | void *hpal;
263 | #endif
264 | bool allowRealization;
265 |
266 | Palette();
267 | ~Palette();
268 |
269 | void Release();
270 |
271 | /**
272 | * This method either adds a colour to the list of wanted colours (want==true)
273 | * or retrieves the allocated colour back to the ColourPair.
274 | * This is one method to make it easier to keep the code for wanting and retrieving in sync.
275 | */
276 | void WantFind(ColourPair &cp, bool want);
277 |
278 | void Allocate(Window &w);
279 | };
280 |
281 | /**
282 | * Font management.
283 | */
284 | class Font {
285 | protected:
286 | FontID fid;
287 | #if PLAT_WX
288 | int ascent;
289 | #endif
290 | // Private so Font objects can not be copied
291 | Font(const Font &) {}
292 | Font &operator=(const Font &) { fid=0; return *this; }
293 | public:
294 | Font();
295 | virtual ~Font();
296 |
297 | virtual void Create(const char *faceName, int characterSet, int size,
298 | bool bold, bool italic, int extraFontFlag=0);
299 | virtual void Release();
300 |
301 | FontID GetID() { return fid; }
302 | // Alias another font - caller guarantees not to Release
303 | void SetID(FontID fid_) { fid = fid_; }
304 | friend class Surface;
305 | friend class SurfaceImpl;
306 | };
307 |
308 | /**
309 | * A surface abstracts a place to draw.
310 | */
311 | class Surface {
312 | private:
313 | // Private so Surface objects can not be copied
314 | Surface(const Surface &) {}
315 | Surface &operator=(const Surface &) { return *this; }
316 | public:
317 | Surface() {}
318 | virtual ~Surface() {}
319 | static Surface *Allocate();
320 |
321 | virtual void Init(WindowID wid)=0;
322 | virtual void Init(SurfaceID sid, WindowID wid)=0;
323 | virtual void InitPixMap(int width, int height, Surface *surface_, WindowID wid)=0;
324 |
325 | virtual void Release()=0;
326 | virtual bool Initialised()=0;
327 | virtual void PenColour(ColourAllocated fore)=0;
328 | virtual int LogPixelsY()=0;
329 | virtual int DeviceHeightFont(int points)=0;
330 | virtual void MoveTo(int x_, int y_)=0;
331 | virtual void LineTo(int x_, int y_)=0;
332 | virtual void Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back)=0;
333 | virtual void RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back)=0;
334 | virtual void FillRectangle(PRectangle rc, ColourAllocated back)=0;
335 | virtual void FillRectangle(PRectangle rc, Surface &surfacePattern)=0;
336 | virtual void RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back)=0;
337 | virtual void AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated fill, int alphaFill,
338 | ColourAllocated outline, int alphaOutline, int flags)=0;
339 | virtual void Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back)=0;
340 | virtual void Copy(PRectangle rc, Point from, Surface &surfaceSource)=0;
341 |
342 | virtual void DrawTextNoClip(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back)=0;
343 | virtual void DrawTextClipped(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back)=0;
344 | virtual void DrawTextTransparent(PRectangle rc, Font &font_, int ybase, const char *s, int len, ColourAllocated fore)=0;
345 | virtual void MeasureWidths(Font &font_, const char *s, int len, int *positions)=0;
346 | virtual int WidthText(Font &font_, const char *s, int len)=0;
347 | virtual int WidthChar(Font &font_, char ch)=0;
348 | virtual int Ascent(Font &font_)=0;
349 | virtual int Descent(Font &font_)=0;
350 | virtual int InternalLeading(Font &font_)=0;
351 | virtual int ExternalLeading(Font &font_)=0;
352 | virtual int Height(Font &font_)=0;
353 | virtual int AverageCharWidth(Font &font_)=0;
354 |
355 | virtual int SetPalette(Palette *pal, bool inBackGround)=0;
356 | virtual void SetClip(PRectangle rc)=0;
357 | virtual void FlushCachedState()=0;
358 |
359 | virtual void SetUnicodeMode(bool unicodeMode_)=0;
360 | virtual void SetDBCSMode(int codePage)=0;
361 | };
362 |
363 | /**
364 | * A simple callback action passing one piece of untyped user data.
365 | */
366 | typedef void (*CallBackAction)(void*);
367 |
368 | /**
369 | * Class to hide the details of window manipulation.
370 | * Does not own the window which will normally have a longer life than this object.
371 | */
372 | class Window {
373 | protected:
374 | WindowID wid;
375 | #if PLAT_MACOSX
376 | void *windowRef;
377 | void *control;
378 | #endif
379 | public:
380 | Window() : wid(0), cursorLast(cursorInvalid) {
381 | #if PLAT_MACOSX
382 | windowRef = 0;
383 | control = 0;
384 | #endif
385 | }
386 | Window(const Window &source) : wid(source.wid), cursorLast(cursorInvalid) {
387 | #if PLAT_MACOSX
388 | windowRef = 0;
389 | control = 0;
390 | #endif
391 | }
392 | virtual ~Window();
393 | Window &operator=(WindowID wid_) {
394 | wid = wid_;
395 | return *this;
396 | }
397 | WindowID GetID() const { return wid; }
398 | bool Created() const { return wid != 0; }
399 | void Destroy();
400 | bool HasFocus();
401 | PRectangle GetPosition();
402 | void SetPosition(PRectangle rc);
403 | void SetPositionRelative(PRectangle rc, Window relativeTo);
404 | PRectangle GetClientPosition();
405 | void Show(bool show=true);
406 | void InvalidateAll();
407 | void InvalidateRectangle(PRectangle rc);
408 | virtual void SetFont(Font &font);
409 | enum Cursor { cursorInvalid, cursorText, cursorArrow, cursorUp, cursorWait, cursorHoriz, cursorVert, cursorReverseArrow, cursorHand };
410 | void SetCursor(Cursor curs);
411 | void SetTitle(const char *s);
412 | PRectangle GetMonitorRect(Point pt);
413 | #if PLAT_MACOSX
414 | void SetWindow(void *ref) { windowRef = ref; };
415 | void SetControl(void *_control) { control = _control; };
416 | #endif
417 | private:
418 | Cursor cursorLast;
419 | };
420 |
421 | /**
422 | * Listbox management.
423 | */
424 |
425 | class ListBox : public Window {
426 | public:
427 | ListBox();
428 | virtual ~ListBox();
429 | static ListBox *Allocate();
430 |
431 | virtual void SetFont(Font &font)=0;
432 | virtual void Create(Window &parent, int ctrlID, Point location, int lineHeight_, bool unicodeMode_)=0;
433 | virtual void SetAverageCharWidth(int width)=0;
434 | virtual void SetVisibleRows(int rows)=0;
435 | virtual int GetVisibleRows() const=0;
436 | virtual PRectangle GetDesiredRect()=0;
437 | virtual int CaretFromEdge()=0;
438 | virtual void Clear()=0;
439 | virtual void Append(char *s, int type = -1)=0;
440 | virtual int Length()=0;
441 | virtual void Select(int n)=0;
442 | virtual int GetSelection()=0;
443 | virtual int Find(const char *prefix)=0;
444 | virtual void GetValue(int n, char *value, int len)=0;
445 | virtual void RegisterImage(int type, const char *xpm_data)=0;
446 | virtual void ClearRegisteredImages()=0;
447 | virtual void SetDoubleClickAction(CallBackAction, void *)=0;
448 | virtual void SetList(const char* list, char separator, char typesep)=0;
449 | };
450 |
451 | /**
452 | * Menu management.
453 | */
454 | class Menu {
455 | MenuID mid;
456 | public:
457 | Menu();
458 | MenuID GetID() { return mid; }
459 | void CreatePopUp();
460 | void Destroy();
461 | void Show(Point pt, Window &w);
462 | };
463 |
464 | class ElapsedTime {
465 | long bigBit;
466 | long littleBit;
467 | public:
468 | ElapsedTime();
469 | double Duration(bool reset=false);
470 | };
471 |
472 | /**
473 | * Dynamic Library (DLL/SO/...) loading
474 | */
475 | class DynamicLibrary {
476 | public:
477 | virtual ~DynamicLibrary() {}
478 |
479 | /// @return Pointer to function "name", or NULL on failure.
480 | virtual Function FindFunction(const char *name) = 0;
481 |
482 | /// @return true if the library was loaded successfully.
483 | virtual bool IsValid() = 0;
484 |
485 | /// @return An instance of a DynamicLibrary subclass with "modulePath" loaded.
486 | static DynamicLibrary *Load(const char *modulePath);
487 | };
488 |
489 | /**
490 | * Platform class used to retrieve system wide parameters such as double click speed
491 | * and chrome colour. Not a creatable object, more of a module with several functions.
492 | */
493 | class Platform {
494 | // Private so Platform objects can not be copied
495 | Platform(const Platform &) {}
496 | Platform &operator=(const Platform &) { return *this; }
497 | public:
498 | // Should be private because no new Platforms are ever created
499 | // but gcc warns about this
500 | Platform() {}
501 | ~Platform() {}
502 | static ColourDesired Chrome();
503 | static ColourDesired ChromeHighlight();
504 | static const char *DefaultFont();
505 | static int DefaultFontSize();
506 | static unsigned int DoubleClickTime();
507 | static bool MouseButtonBounce();
508 | static void DebugDisplay(const char *s);
509 | static bool IsKeyDown(int key);
510 | static long SendScintilla(
511 | WindowID w, unsigned int msg, unsigned long wParam=0, long lParam=0);
512 | static long SendScintillaPointer(
513 | WindowID w, unsigned int msg, unsigned long wParam=0, void *lParam=0);
514 | static bool IsDBCSLeadByte(int codePage, char ch);
515 | static int DBCSCharLength(int codePage, const char *s);
516 | static int DBCSCharMaxLength();
517 |
518 | // These are utility functions not really tied to a platform
519 | static int Minimum(int a, int b);
520 | static int Maximum(int a, int b);
521 | // Next three assume 16 bit shorts and 32 bit longs
522 | static long LongFromTwoShorts(short a,short b) {
523 | return (a) | ((b) << 16);
524 | }
525 | static short HighShortFromLong(long x) {
526 | return static_cast(x >> 16);
527 | }
528 | static short LowShortFromLong(long x) {
529 | return static_cast(x & 0xffff);
530 | }
531 | static void DebugPrintf(const char *format, ...);
532 | static bool ShowAssertionPopUps(bool assertionPopUps_);
533 | static void Assert(const char *c, const char *file, int line);
534 | static int Clamp(int val, int minVal, int maxVal);
535 | };
536 |
537 | #ifdef NDEBUG
538 | #define PLATFORM_ASSERT(c) ((void)0)
539 | #else
540 | #ifdef SCI_NAMESPACE
541 | #define PLATFORM_ASSERT(c) ((c) ? (void)(0) : Scintilla::Platform::Assert(#c, __FILE__, __LINE__))
542 | #else
543 | #define PLATFORM_ASSERT(c) ((c) ? (void)(0) : Platform::Assert(#c, __FILE__, __LINE__))
544 | #endif
545 | #endif
546 |
547 | #ifdef SCI_NAMESPACE
548 | }
549 | #endif
550 |
551 | // Shut up annoying Visual C++ warnings:
552 | #ifdef _MSC_VER
553 | #pragma warning(disable: 4244 4309 4514 4710)
554 | #endif
555 |
556 | #endif
557 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldPlatformRes.h:
--------------------------------------------------------------------------------
1 | // Scintilla source code edit control
2 | /** @file PlatformRes.h
3 | ** Defines IDs of resources used by Scintilla on Windows platform.
4 | **/
5 | // Copyright 1998-2001 by Neil Hodgson
6 | // The License.txt file describes the conditions under which this software may be distributed.
7 |
8 | #define IDC_MARGIN 400
9 |
--------------------------------------------------------------------------------
/sourcecode/legacylib/OldPropSet.cxx:
--------------------------------------------------------------------------------
1 | // SciTE - Scintilla based Text Editor
2 | /** @file PropSet.cxx
3 | ** A Java style properties file module.
4 | **/
5 | // Copyright 1998-2003 by Neil Hodgson
6 | // The License.txt file describes the conditions under which this software may be distributed.
7 |
8 | // Maintain a dictionary of properties
9 |
10 | #include
11 | #include
12 | #include
13 |
14 | #ifdef _MSC_VER
15 | // Visual C++ doesn't like unreachable code or long decorated names in its own headers.
16 | #pragma warning(disable: 4018 4100 4245 4511 4512 4663 4702 4786)
17 | #endif
18 |
19 | #include
20 | #include