diff --git a/build.gradle b/build.gradle index 4bc9b2f..5517d3a 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,8 @@ plugins { } archivesBaseName = 'cs2-editor' -version = '1.2' + +version = '1.3' repositories { jcenter() diff --git a/src/main/java/dawn/cs2/FlowBlocksGenerator.java b/src/main/java/dawn/cs2/FlowBlocksGenerator.java index 671c462..7cf926e 100644 --- a/src/main/java/dawn/cs2/FlowBlocksGenerator.java +++ b/src/main/java/dawn/cs2/FlowBlocksGenerator.java @@ -216,9 +216,10 @@ private void processFlowBlock(FlowBlock block) { LinkedList expressions = new LinkedList<>(); while (stack.getSize() > 0) { ExpressionNode expr = stack.pop(); - if (expr.getType() == CS2Type.UNKNOWN) + if (expr.getType() == CS2Type.UNKNOWN) { throw new DecompilerException("Unknown return type"); -// assert !expr.getType().isStructure() : "no support yet for returning structs together with other values"; + } +// assert !expr.getType().isStructure() : "no support yet for returning structs together with other values"; expressions.addFirst(expr); } block.write(new ReturnNode(new ExpressionList(expressions))); @@ -240,8 +241,9 @@ private void processFlowBlock(FlowBlock block) { stack.push(new BuildStringNode(exprs)); } else if (opcode == Opcodes.CALL_CS2) { FunctionInfo info = decompiler.getScriptsDatabase().getInfo(intInstr.getConstant()); - if (info == null) - throw new DecompilerException("No documentation for:" + instruction); + if (info == null) { + throw new DecompilerException("Function for opcode " + instruction.getOpcode() + " is missing."); + } analyzeActualArgOrder(info, stack.copy()); int ret = this.analyzeCall(info, block, stack, ptr, true, false, false, intInstr.getConstant(), false); if (ret != -1) @@ -303,6 +305,9 @@ private void processFlowBlock(FlowBlock block) { boolean dynamicArgTypes = false; boolean dynamicResultType = false; FunctionInfo info = decompiler.getOpcodesDatabase().getInfo(instruction.getOpcode()); + if (info == null) { + throw new DecompilerException("Function for opcode " + instruction.getOpcode() + " is missing."); + } if ((opcode >= 1400 && opcode < 1499) || (opcode >= 2400 && opcode < 2499)) { analyzeDelegate(stack, opcode); dynamicArgTypes = true; // @@ -317,9 +322,6 @@ private void processFlowBlock(FlowBlock block) { // break; // } } - if (info == null) - throw new DecompilerException("No documentation for:" + instruction); - dynamicArgTypes |= opcode == 3400 || opcode == 3409 || opcode == 3412 || opcode == 3414; //datamap contains/lookup value checks if (!dynamicArgTypes) { analyzeActualArgOrder(info, stack.copy()); diff --git a/src/main/resources/cs2/attr.types.txt b/src/main/resources/cs2/attr.types.txt index 1000782..0b30842 100644 Binary files a/src/main/resources/cs2/attr.types.txt and b/src/main/resources/cs2/attr.types.txt differ diff --git a/src/main/resources/cs2/opcode/database/osrs.ini b/src/main/resources/cs2/opcode/database/osrs.ini index cce6c85..270cb5f 100644 --- a/src/main/resources/cs2/opcode/database/osrs.ini +++ b/src/main/resources/cs2/opcode/database/osrs.ini @@ -1,7 +1,13 @@ +74 getVarClanSetting int +76 getVarClan int + 100 cs2method100 void Widget parent int type int index 101 cs2method101 void 102 cs2method102 void Widget arg0 +103 cs2method103 void int arg0 int arg1 int arg2 +104 cs2method104 void int arg0 + # Create a new child on parent widget, call this method on either CHILD or _CHILD to bind the register to that newly created child 150 createChild void Widget parent int type int index # Call on CHILD or _CHILD to delete the active child register from parent @@ -13,10 +19,7 @@ # Call on CHILD or _CHILD register to bind that register to the parent. 201 setChild boolean Widget parent -# Change render order of this component to last (so it appears on top) -202 sendChildFront void Widget arg0 - -203 sendChildBack void Widget arg0 +202 cs2method202 int 204 sendChildFront void @@ -96,7 +99,7 @@ 1127 setAttr void int key int value -1128 setAttr void int key string value +1128 cs2method1128 void int arg0 int arg1 1129 setVorbisRelatedNeverCalled void int vorbisId @@ -346,6 +349,10 @@ 1614 getModelId Model +1615 cs2method1615 int + +1616 cs2method1616 int + 1618 getFont Sprite 1700 getItemId Item @@ -492,7 +499,7 @@ 2314 cs2method2314 void int arg0 Widget widget -2352 cs2method2352 void int arg0 int arg1 Widget arg2 +2352 cs2method2352 void Widget arg0 int arg1 int arg2 int arg3 2500 getX int Widget widget @@ -560,6 +567,8 @@ 2802 getOptionBase string Widget widget +2928 cs2method2928 void int arg0 int arg1 int arg2 + 3100 msg void string msg 3101 animateSelf void int animId int speed @@ -592,6 +601,16 @@ 3117 sendUnknownPacketMethod3117 void string arg0 +3157 cs2method3157 void int arg0 int arg1 + +3181 cs2method3181 void int arg0 + +3182 cs2method3182 int + +3183 cs2method3183 void int arg0 + +3184 cs2method3184 void int arg0 + 3200 playSoundEffect void int id int arg1 int delay 3201 playMusic void int id @@ -612,6 +631,8 @@ 3209 playSoundEffect2False void SoundEff id int duration int delay int volume int speed +3210 cs2method3210 int int arg0 + 3300 getClientCycle int 3301 getItemIdInSlot Item Container container int slot @@ -660,15 +681,15 @@ 3325 isSiteSettingsMembers boolean -3326 getMyCombat int +3326 getMouseX int -3327 IsFemale boolean +3327 getMouseY int 3328 cs2method3328 boolean 3329 mapQuickchat boolean -3330 getContainerFreeSlots int Container container +3330 cs2method3330 int 3331 getContainerIntAttrCountIgnoreStacks int Container container int nodeid @@ -856,6 +877,76 @@ 3790 citadelConfigsInitialized boolean +3800 isActiveClanSettingFindListened boolean + +3801 isActiveClanSettingFindAffined boolean int arg0 + +3802 getActiveClanSettingClanName string + +3803 isActiveClanSettingAllowUnaffined boolean + +3804 getActiveClanSettingRankTalk int + +3805 getActiveClanSettingRankKick int + +3806 getActiveClanSettingLootshare int + +3807 getActiveClanSettingCoinshare int + +3809 getActiveClanSettingMemberCount int + +3810 getActiveClanSettingAffinedDisplayName string int arg0 + +3811 getActiveClanSettingAffinedRank int int arg0 + +3812 getActiveClanSettingBannedCount int + +3813 getActiveClanSettingBannedDisplayName string int arg0 + +3814 getActiveClanSettingAffinedInfo int int arg0 int arg1 int arg2 + +3815 getActiveClanSettingCurrentOwnerSlot int + +3816 getActiveClanSettingReplacementOwnerSlot int + +3817 getActiveClanSettingAffinedSlot int int arg0 + +3818 getActiveClanSettingSortedAffinedSlot int int arg0 + +3819 cs2method3819 void int arg0 int arg1 + +3820 cs2method3820 int int arg0 + +3821 cs2method3821 void int arg0 boolean arg1 int arg2 + +3822 cs2method3822 int int arg0 + +3850 isActiveClanChannelFindListened boolean + +3851 isActiveClanChannelFindAffined boolean int arg0 + +3852 cs2method3852 string + +3853 cs2method3853 int + +3854 cs2method3854 int + +3855 cs2method3855 int + +3856 cs2method3856 string int arg0 + +3857 cs2method3857 int int arg0 + +3858 cs2method3858 int int arg0 + +3859 cs2method3859 void int arg0 + +3860 cs2method3860 int int arg0 + +3861 cs2method3861 int int arg0 + +3890 cs2method3890 boolean + 3903 getGEIsSelling int int slot 3904 getGEItem Item int slot @@ -918,6 +1009,8 @@ 4020 getColorRelatedMethod4020 int int arg0 +4029 cs2method4029 int int arg0 int arg1 int arg2 + 4100 concat string string arg1 int arg0 4101 concat string string arg0 string arg1 @@ -1056,9 +1149,13 @@ 5023 cs2method5023 int int arg0 -5024 cs2method5024 int int arg0 +5024 cs2method5024 void int arg0 + +5025 cs2method5025 void int arg0 -5025 cs2method5025 string int arg0 +5030 cs2method5030 {int,int,string,string,string,int,string,int} int arg0 int arg1 + +5031 cs2method5031 {int,int,string,string,string,int,string,int} int arg0 5050 cs2method5050 string QcCat arg0 @@ -1186,6 +1283,8 @@ 5309 cs2method5309 void int arg0 +5312 cs2method5312 void int arg0 + 5400 cs2method5400 void string arg1 string arg2 int arg0 5401 cs2method5401 void int arg0 int arg1 @@ -1474,7 +1573,9 @@ 6210 cs2method6210 void int arg0 -6220 cs2method6220 int +6212 cs2method6212 void + +6220 cs2method6220 void int arg0 6221 cs2method6221 int @@ -1520,7 +1621,7 @@ 6510 cs2method6510 int -6527 cs2method6527 boolean +6527 cs2method6527 int 6700 cs2method6700 int @@ -1534,6 +1635,8 @@ 6705 getVarSetInPacket int int arg0 int arg1 +6706 cs2method6706 void int arg0 string arg1 int arg2 + 6707 clickWidgetContext1 void int arg0 int arg1 int arg2 6708 clickWidgetContext2 void int arg0 int arg1 int arg2 @@ -1556,6 +1659,14 @@ 6717 cs2method6717 void int arg0 int arg1 int arg2 +6751 cs2method6751 int + +6752 cs2method6752 int + +6753 cs2method6753 int + +6754 cs2method6754 string int arg0 + 6800 getWorldmapLabelName string int labelid 6801 cs2method6801 int int arg0 @@ -1566,6 +1677,10 @@ 6804 worldMapLabelAttribute ?? int labelid int key +6851 cs2method6851 int + +6852 cs2method6852 int + 6900 cs2method6900 boolean 6901 cs2method6901 {int,int,int} @@ -1598,12 +1713,78 @@ 6915 cs2method6915 int +6950 cs2method6950 int + 7000 cs2method7000 {int,int} +7001 cs2method7001 void int arg0 int arg1 int arg2 + +7002 cs2method7002 void int arg0 int arg1 int arg2 + +7003 cs2method7003 boolean int arg0 int arg1 int arg2 + +7005 cs2method7005 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7006 cs2method7006 void int arg0 int arg1 + 7007 cs2method7007 int 7008 cs2method7008 int +7009 cs2method7009 int + +7010 cs2method7010 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7011 cs2method7011 void int arg0 int arg1 int arg2 + +7012 cs2method7012 void int arg0 int arg1 int arg2 + +7013 cs2method7013 void int arg0 int arg1 + +7015 cs2method7015 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7016 cs2method7016 void int arg0 int arg1 + +7017 cs2method7017 void int arg0 int arg1 + +7018 cs2method7018 void int arg0 + +7019 cs2method7019 void int arg0 + +7020 cs2method7020 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7021 cs2method7021 void int arg0 int arg1 int arg2 + +7022 cs2method7022 void int arg0 int arg1 int arg2 + +7023 cs2method7023 void int arg0 int arg1 int arg2 + +7025 cs2method7025 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7026 cs2method7026 void int arg0 int arg1 + +7027 cs2method7027 void int arg0 int arg1 + +7028 cs2method7028 void int arg0 + +7030 cs2method7030 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7031 cs2method7031 void string arg0 int arg1 + +7032 cs2method7032 void string arg0 int arg1 + +7033 cs2method7033 void string arg0 + +7035 cs2method7035 void int arg0 int arg1 int arg2 int arg3 int arg4 + +7036 cs2method7036 void int arg0 int arg1 + +7037 cs2method7037 void int arg0 int arg1 + +7038 cs2method7038 void int arg0 + +7039 cs2method7039 void int arg0 + 7100 cs2method7100 void int arg0 int arg1 7101 cs2method7101 void int arg0 @@ -1612,6 +1793,14 @@ 7103 hasJagtheoraLib boolean +7108 cs2method7108 boolean + +7109 cs2method7109 int + +7110 cs2method7110 int + +7200 cs2method7200 int int arg0 int arg1 int arg2 int arg3 int arg4 + 7201 cs2method7201 boolean 7202 cs2method7202 boolean @@ -1642,6 +1831,10 @@ 7215 cs2method7215 boolean +7250 cs2method7250 boolean + +7252 cs2method7252 void int arg0 + 7301 cs2method7301 int int arg0 7302 cs2method7302 int int arg0 diff --git a/src/main/resources/cs2/opcode/database/rs2_old.ini b/src/main/resources/cs2/opcode/database/rs2_old.ini index b3e54ee..d3a76eb 100644 --- a/src/main/resources/cs2/opcode/database/rs2_old.ini +++ b/src/main/resources/cs2/opcode/database/rs2_old.ini @@ -145,7 +145,7 @@ 1308 cs2method1308 void int arg0 int arg1 -1309 cs2method1309 void int arg0 int arg1 +1309 setOpCursor void int arg0 int arg1 1310 setContinueText void string arg0 @@ -655,7 +655,7 @@ 3327 IsFemale boolean -3328 cs2method3328 boolean +3328 isUnderage boolean 3329 mapQuickchat boolean @@ -725,15 +725,15 @@ 3603 getFriendRank int int listIndex -3604 cs2method3604 void string arg1 int arg0 +3604 setFriendRank void string arg1 int arg0 -3605 cs2method3605 void string arg0 +3605 addFriend void string arg0 -3606 cs2method3606 void string arg0 +3606 removeFriend void string arg0 -3607 cs2method3607 void string arg0 +3607 addIgnore void string arg0 -3608 cs2method3608 void string arg0 +3608 removeIgnore void string arg0 3609 isFriend boolean string name @@ -749,35 +749,37 @@ 3615 clanChatUserRank int int arg0 -3616 clanmethod3616 int +3616 getClanChatMinKick int -3617 clanmethod3617 void string arg0 +3617 kickClanChatMember void string arg0 -3618 clanmethod3618 int +3618 getClanChatRank int -3619 sendUnknownFriendPacketMethod3619 void string arg0 +3619 joinClanChat void string arg0 + +3620 leaveClanChat void 3621 getIgnoreCount int 3622 getIgnoreName {string,string} int arg0 -3623 cs2method3623 boolean string arg0 +3623 isFriend boolean string arg0 -3624 cs2method3624 boolean int arg0 +3624 isClanMemberSelf boolean int arg0 -3625 cs2method3625 string +3625 getClanChatOwner string -3626 cs2method3626 string int arg0 +3626 getClanChatMemberWorldName string int arg0 -3627 cs2method3627 boolean int arg0 +3627 isFriendInSameGame boolean int arg0 -3628 cs2method3628 int string arg0 +3628 getFriendSlot int string arg0 -3629 cs2method3629 int +3629 getCountry int -3630 cs2method3630 void string arg0 +3630 addToIgnoreList void string arg0 -3631 cs2method3631 boolean int arg0 +3631 isTemporarilyIgnored boolean int arg0 3632 cs2method3632 string int arg0 @@ -1013,7 +1015,7 @@ 5001 setChatSettings void int arg0 int arg1 int arg2 -5002 cs2method5002 void string arg2 int arg0 int arg1 string arg3 +5002 cs2method5002 void string arg2 int arg0 int arg1 5003 cs2method5003 string int arg0 @@ -1033,11 +1035,11 @@ 5012 cs2method5012 int int arg0 -5015 cs2method5015 string +5015 getUsername string 5016 getTradeSetting int -5017 cs2method5017 int +5017 getChatSize int 5018 cs2method5018 int int arg0 @@ -1253,7 +1255,7 @@ 5609 getAccountCreateRC int -5610 cs2method5610 {string,string,string,string,string} +5610 getSuggestedNames {string,string,string,string,string} 5611 getDetailedRC int @@ -1291,53 +1293,53 @@ 5633 getReturncodeExtraData int -6001 cs2method6001 void int arg0 +6001 setBrightness void int arg0 -6002 cs2method6002 void boolean arg0 +6002 setAllLevelsVisible void boolean arg0 -6003 cs2method6003 void boolean arg0 +6003 setRoofsVisible void boolean arg0 -6005 cs2method6005 void boolean arg0 +6005 setGroundDecoration void boolean arg0 -6006 cs2method6006 void boolean arg0 +6006 setTextureDetail void boolean arg0 -6007 cs2method6007 void int arg0 +6007 setManyIdleAnimations void int arg0 -6008 cs2method6008 void boolean arg0 +6008 setFlickeringEffects void boolean arg0 -6009 cs2method6009 void boolean arg0 +6009 setGroundTextures void boolean arg0 -6010 cs2method6010 void boolean arg0 +6010 setCharacterShadows void boolean arg0 -6011 cs2method6011 void int arg0 +6011 setSceneryShadows void int arg0 -6012 cs2method6012 void boolean arg0 +6012 setPreferredLighting void boolean arg0 -6014 cs2method6014 void boolean arg0 +6014 setWaterDetail void boolean arg0 -6015 cs2method6015 void boolean arg0 +6015 setFog void boolean arg0 6016 cs2method6016 void int arg0 -6017 cs2method6017 void boolean arg0 +6017 setStereo void boolean arg0 -6018 cs2method6018 void int arg0 +6018 setSoundEffectsVol void int arg0 -6019 cs2method6019 void int arg0 +6019 setMusicVol void int arg0 -6020 cs2method6020 void int arg0 +6020 setAreaSoundVol void int arg0 6021 cs2method6021 void boolean arg0 -6023 cs2method6023 void int arg0 +6023 setParticles void int arg0 -6024 cs2method6024 void int arg0 +6024 setPreferredAntiAliasingMode void int arg0 6025 cs2method6025 void int arg0 -6027 cs2method6027 void int arg0 +6027 setPreferredHDR void int arg0 -6028 cs2method6028 void boolean arg0 +6028 setPreferredCustomCursors void boolean arg0 6029 cs2method6029 void boolean arg0 @@ -1365,53 +1367,55 @@ 6041 cs2method6041 void int arg0 -6101 cs2method6101 int +6101 getPreferredBrightness int + +6102 isAllLevelsVisible boolean -6102 cs2method6102 boolean +6103 isRoofsVisible boolean -6103 cs2method6103 boolean +6105 allowGroundDecoration boolean -6105 cs2method6105 boolean +6106 isHighDetailTextures boolean -6107 cs2method6107 int +6107 allowManyIdleAnimations int -6108 cs2method6108 boolean +6108 getPreferredFlickeringEffects boolean -6109 cs2method6109 boolean +6109 getPreferredGroundTextures boolean -6110 cs2method6110 boolean +6110 getPreferredCharacterShadows boolean -6111 cs2method6111 int +6111 getPreferredSceneryShadows int -6112 cs2method6112 boolean +6112 getPreferredLighting boolean -6114 cs2method6114 boolean +6114 getPreferredWaterDetail boolean -6115 cs2method6115 boolean +6115 getPreferredFog boolean 6116 cs2method6116 int -6117 cs2method6117 boolean +6117 getPreferredStereo boolean -6118 cs2method6118 int +6118 getPreferredSoundEffectsVol int -6119 cs2method6119 int +6119 getPreferredMusicVol int -6120 cs2method6120 int +6120 getPreferredAreaSoundsVol int -6121 cs2method6121 boolean +6121 getPreferredAreaSoundsVolume boolean -6123 cs2method6123 int +6123 arbMultisampleSupported int -6124 cs2method6124 int +6124 getPreferredParticles int -6125 cs2method6125 int +6125 getPreferredAntiAliasingMode int -6126 cs2method6126 boolean +6126 bloomSupported boolean -6127 cs2method6127 boolean +6127 getPreferredHDR boolean -6128 cs2method6128 boolean +6128 getPreferredCustomCursors boolean 6129 cs2method6129 int @@ -1481,26 +1485,30 @@ 6406 isShowingVideoAd boolean -6500 cs2method6500 boolean +6500 fetchedWorldList boolean 6501 getFirstWorldData {int,int,string,int,string,int,int,string} 6502 getNextWorldData {int,int,string,int,string,int,int,string} -6503 setWorldHost boolean int arg0 string arg1 +6503 setWorldHost boolean int arg0 -6504 cs2method6504 void int arg0 +6504 setFavouriteWorld void int arg0 -6505 cs2method6505 int +6505 getFavouriteWorld int -6506 cs2method6506 {int,string,int,string,int,int,string} int arg0 +6506 getWorld {int,string,int,string,int,int,string} int arg0 -6507 cs2method6507 void int arg0 boolean bool1 int arg2 boolean bool3 +6507 sortWorldList void int arg0 boolean bool1 int arg2 boolean bool3 6509 cs2method6509 void boolean bool0 6510 cs2method6510 int +6600 allowCameraUpdatingFromCS2 void int arg0 + +6601 isCameraUpdatingAllowedFromCS2 int + 6700 cs2method6700 int 6701 cs2method6701 {int,int} int arg0 @@ -1537,11 +1545,11 @@ 6800 getWorldmapLabelName string int labelid -6801 cs2method6801 int int arg0 +6801 getMelSprite int int arg0 -6802 cs2method6802 int int arg0 +6802 getMelTextSize int int arg0 -6803 cs2method6803 int int arg0 +6803 getMelCategory int int arg0 6804 worldMapLabelAttribute ?? int labelid int key @@ -1669,7 +1677,7 @@ 3103 sendCloseWidgetPacket void -3620 sendUnknownVarByteEmptyFriendPacketMethod3620 void +3620 joinClanChat void 3718 cs2method3718 void @@ -1967,4 +1975,4 @@ 21127 osrs_m1127 void int arg0 -22127 osrs_m2127 void int arg0 Widget arg1 \ No newline at end of file +22127 osrs_m2127 void int arg0 Widget arg1 diff --git a/src/main/resources/cs2/opcode/unscramble/179.txt b/src/main/resources/cs2/opcode/unscramble/179.txt index 0148d08..7a1c358 100644 --- a/src/main/resources/cs2/opcode/unscramble/179.txt +++ b/src/main/resources/cs2/opcode/unscramble/179.txt @@ -29,12 +29,18 @@ 47 49 48 50 51 60 +74 74 +76 76 + +103 103 +104 104 150 100 151 101 152 102 200 200 201 201 +202 202 1000 1000 1001 1001 @@ -77,6 +83,8 @@ 25005 5005 25008 5008 25009 5009 +5010 5010 + 25015 5015 25016 5016 25017 5017 @@ -426,6 +434,43 @@ 3413 3413 3414 3414 3415 3415 +3800 3800 +3801 3801 +3802 3802 +3803 3803 +3804 3804 +3805 3805 +3806 3806 +3807 3807 +3809 3809 +3810 3810 +3811 3811 +3812 3812 +3813 3813 +3814 3814 +3815 3815 +3816 3816 +3817 3817 +3818 3818 +3819 3819 +3820 3820 +3821 3821 +3822 3822 + +3850 3850 +3851 3851 +3852 3852 +3853 3853 +3854 3854 +3855 3855 +3856 3856 +3857 3857 +3858 3858 +3859 3859 +3860 3860 +3861 3861 +3862 3862 +3890 3890 23600 3600 23601 3601 @@ -946,3 +991,76 @@ 21127 1127 22127 2127 + +1128 1128 +2352 2352 + +2928 2928 +3157 3157 +3182 3182 +3183 3183 +3184 3184 +3210 3210 +5024 5024 +5025 5025 +5030 5030 +5031 5031 +5312 5312 +6527 6527 +6754 6754 +6851 6851 +6852 6852 +6950 6950 + +7001 7001 +7002 7002 +7003 7003 +7005 7005 +7006 7006 +7008 7008 +7009 7009 +7010 7010 +7011 7011 +7012 7012 +7013 7013 +7015 7015 +7016 7016 +7017 7017 +7018 7018 +7019 7019 +7021 7021 +7022 7022 +7023 7023 +7026 7026 +7027 7027 +7028 7028 +7030 7030 +7031 7031 +7032 7032 +7033 7033 +7035 7035 +7036 7036 +7037 7037 +7038 7038 +7039 7039 +7108 7108 +7109 7109 +7200 7200 +7250 7250 +7252 7252 +4029 4029 +6751 6751 +6752 6752 +6753 6753 +7025 7025 +3181 3181 +6210 6210 +1615 1615 +6212 6212 +7110 7110 +7020 7020 +1616 1616 +3326 3326 +3327 3327 +3330 3330 +6706 6706 diff --git a/src/main/resources/cs2/varc.types.txt b/src/main/resources/cs2/varc.types.txt index 25c87ae..50de2ac 100644 --- a/src/main/resources/cs2/varc.types.txt +++ b/src/main/resources/cs2/varc.types.txt @@ -777,7 +777,7 @@ 776 i 1 777 i 1 778 i 1 -779 € 1 +779 � 1 780 i 1 781 i 1 782 i 1