Free Hero Mesh

History of class.c of 00437dafd6975c6b
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

History of the file that is called class.c at check-in 00437dafd6975c6b

2023-08-28
19:02
Add the (Pc) block (counting pattern block). file: [04b2a8af6c] check-in: [51526b8cd6] user: user, branch: trunk, size: 102561 [annotate] [blame] [check-ins using] [diff]
2023-08-04
23:03
Implement ,if ,while ,until instructions (conditions with keeping the value in the stack if it is nonzero) file: [53fa966b10] check-in: [41eca04785] user: user, branch: trunk, size: 102503 [annotate] [blame] [check-ins using] [diff]
18:15
Implement the / and ,/ commands in pattern blocks. file: [133b55b71e] check-in: [9930393c98] user: user, branch: trunk, size: 102248 [annotate] [blame] [check-ins using] [diff]
2023-05-17
20:20
Correct some mistakes in the dealing with multibyte characters. file: [3051994863] check-in: [102b5912d7] user: user, branch: trunk, size: 102220 [annotate] [blame] [check-ins using] [diff]
2023-04-28
18:02
Begin to implement multibyte character codes (it is not enough to be used, so far) file: [3f858bcddb] check-in: [9087ab7896] user: user, branch: trunk, size: 102186 [annotate] [blame] [check-ins using] [diff]
2023-03-31
17:21
Fix {edit <number>} so that it replaces the entire argument if it begins with an opening delimiter ("{" or "("). file: [0574e75b7a] check-in: [563de83a02] user: user, branch: trunk, size: 97741 [annotate] [blame] [check-ins using] [diff]
2023-03-29
23:50
Implement CONFIG_OMIT_INCLUDE file: [32f95c9ffe] check-in: [c3370d4109] user: user, branch: trunk, size: 97576 [annotate] [blame] [check-ins using] [diff]
23:46
Correct a memory leak in the recent change to the {edit} macro file: [b7fec654af] check-in: [54b97e96bb] user: user, branch: trunk, size: 97419 [annotate] [blame] [check-ins using] [diff]
19:48
Allow arguments to numeric arithmetic/bitwise macros to be directions and keys as well as numbers. file: [9cd1ad3346] check-in: [ee285414da] user: user, branch: trunk, size: 97366 [annotate] [blame] [check-ins using] [diff]
03:22
Add the variant of the {edit} macro to edit an argument of a macro which is currently being expanded. file: [16b649f4e6] check-in: [0548d34afe] user: user, branch: trunk, size: 96599 [annotate] [blame] [check-ins using] [diff]
2023-03-14
20:53
Optimize message blocks that begin with a goto instruction to a label that comes before it. file: [f3693b1dc0] check-in: [7cde381dd5] user: user, branch: trunk, size: 95996 [annotate] [blame] [check-ins using] [diff]
2022-08-19
06:05
Fix the implementation of ranges in (DefaultImage) block file: [69d6373aa3] check-in: [ffe428f969] user: user, branch: trunk, size: 95616 [annotate] [blame] [check-ins using] [diff]
2022-08-11
20:11
Implement level hashes calculation. file: [2a869824f7] check-in: [a9af94f292] user: user, branch: trunk, size: 95525 [annotate] [blame] [check-ins using] [diff]
04:38
Ensure that class/message names made by {make} do not contain invalid characters. file: [dbf58fd0d2] check-in: [eaea2c00a7] user: user, branch: trunk, size: 95435 [annotate] [blame] [check-ins using] [diff]
2022-08-10
05:45
Implement CONFIG_NO_STATUS file: [fe260125ee] check-in: [89cc6486f6] user: user, branch: trunk, size: 95110 [annotate] [blame] [check-ins using] [diff]
2022-08-05
06:22
The previous attempted fix of trying to call a macro whose definition is empty had a problem with defining new macros. Instead, make a macro with a single TF_MACRO+TF_ABNORMAL token if it is empty, and skip the TF_MACRO+TF_ABNORMAL token during expansion. file: [7edc77ca68] check-in: [4ce94e1d08] user: user, branch: trunk, size: 95116 [annotate] [blame] [check-ins using] [diff]
05:37
Fix the {include} macro file name dealing (to allow lowercase letters), and fix the case of trying to call a macro whose definition is empty. file: [bbafd4c28a] check-in: [00437dafd6] user: user, branch: trunk, size: 95233 [annotate] [blame] [check-ins using] [diff]
2022-07-18
06:38
Implement (partially) comconfig; also add back into game.c the ability to record solution timestamps (that was removed by mistake in the past), and improve documentation about compiling (in README file). file: [b256a9488a] check-in: [3bac201324] user: user, branch: trunk, size: 94741 [annotate] [blame] [check-ins using] [diff]
2022-07-16
01:20
Implement the global (Density) block. file: [1653acd7e0] check-in: [6e7ed8025b] user: user, branch: trunk, size: 94564 [annotate] [blame] [check-ins using] [diff]
2022-07-11
23:20
Improvements and corrections of pattern matching capability. file: [f32dcb1f64] check-in: [cd1ff3c034] user: user, branch: trunk, size: 93974 [annotate] [blame] [check-ins using] [diff]
2022-07-10
21:51
Allow the (Order) list to contain class names and message names. file: [4bcfc3b7e0] check-in: [874c691fca] user: user, branch: trunk, size: 93934 [annotate] [blame] [check-ins using] [diff]
00:55
Implementation of order of execution overriding is probably corrected now. file: [cc0a42cded] check-in: [2b0b74d47a] user: user, branch: trunk, size: 93591 [annotate] [blame] [check-ins using] [diff]
2022-07-06
19:36
Implement coordinate input. file: [23e8cf302b] check-in: [87a8bc6a74] user: user, branch: trunk, size: 93729 [annotate] [blame] [check-ins using] [diff]
2022-07-04
05:43
Implement crushing (similar to pieces being crushed in ZZT if they cannot be pushed). file: [1c13f6111e] check-in: [08e7014805] user: user, branch: trunk, size: 93546 [annotate] [blame] [check-ins using] [diff]
2022-04-26
23:18
Ensure that undef_message is set when loading message numbers from the CLASS.DEF lump. file: [565233454d] check-in: [e6ec7babc9] user: user, branch: trunk, size: 93494 [annotate] [blame] [check-ins using] [diff]
2022-04-24
20:33
Implement (Rook), (Bishop), and (Queen) blocks in class definition blocks. file: [17e9f0f3a2] check-in: [3a5d5440cc] user: user, branch: trunk, size: 93450 [annotate] [blame] [check-ins using] [diff]
2022-04-22
20:11
Some corrections to parsing the (Order) block; the runtime handling still does not quite work properly yet file: [8147a9749f] check-in: [345563f394] user: user, branch: trunk, size: 92134 [annotate] [blame] [check-ins using] [diff]
03:22
Add the -U switch for experimental/unstable features. file: [c278e9bdc7] check-in: [747db98980] user: user, branch: trunk, size: 92145 [annotate] [blame] [check-ins using] [diff]
2022-04-06
18:46
Implement "(DefaultImage <number> mod <number>)". file: [f3ec4cf1a4] check-in: [7b28d8159e] user: user, branch: trunk, size: 92122 [annotate] [blame] [check-ins using] [diff]
2022-03-08
00:47
When using -C switch, also list all user-defined messages, too. file: [9d875090a8] check-in: [3ac276fa11] user: user, branch: trunk, size: 91794 [annotate] [blame] [check-ins using] [diff]
2022-03-03
21:40
Some corrections dealing with (Order) block; still does not quite work properly, yet. file: [a2182d0a94] check-in: [0d3d6e6a53] user: user, branch: trunk, size: 91632 [annotate] [blame] [check-ins using] [diff]
2022-02-14
08:22
Implement the (userflags) syntax with an implied attribute. file: [e38cb33701] check-in: [7268a9ce16] user: user, branch: trunk, size: 91269 [annotate] [blame] [check-ins using] [diff]
2022-02-11
21:25
Implement the connection movement. file: [9f8ddd9795] check-in: [7f3f255b14] user: user, branch: trunk, size: 91000 [annotate] [blame] [check-ins using] [diff]
2022-02-08
02:51
Implement a few new instructions dealing with links: exec ,exec link rtn file: [15832a8e0e] check-in: [5ea66f6525] user: user, branch: trunk, size: 90448 [annotate] [blame] [check-ins using] [diff]
2022-02-04
06:56
Correct parsing instruction names beginning with a plus and minus sign. file: [607928bef0] check-in: [547bf4ed86] user: user, branch: trunk, size: 90159 [annotate] [blame] [check-ins using] [diff]
2022-01-29
05:55
Implement the Sound instruction. (There are still a few problems such as clicks at the end of some sound effects, and a few problems with the sound test menu. However, it mostly works, now.) file: [5513be6ecd] check-in: [d15195a921] user: user, branch: trunk, size: 90192 [annotate] [blame] [check-ins using] [diff]
2022-01-25
06:31
Implement (attribute userflags) syntax, in order to access bit patterns of user flags directly in class codes (e.g. so that they can be passed to subroutines, etc). file: [633629bcf7] check-in: [a724f44255] user: user, branch: trunk, size: 90191 [annotate] [blame] [check-ins using] [diff]
2022-01-12
02:28
Use 23-bit code page numbers. file: [cfa005344c] check-in: [0ced76ece7] user: user, branch: trunk, size: 89008 [annotate] [blame] [check-ins using] [diff]
2021-12-29
00:29
Implement all of the rest of the (LevelTable) block and its displaying and processing, except the string matching, which will be implemented later. file: [7243e8c48b] check-in: [d24dfda327] user: user, branch: trunk, size: 89003 [annotate] [blame] [check-ins using] [diff]
2021-12-27
20:33
More corrections, and more work on implementation, of custom level table definitions. file: [7cb8ff67cc] check-in: [702847e470] user: user, branch: trunk, size: 88236 [annotate] [blame] [check-ins using] [diff]
2021-12-25
06:33
Some corrections of custom level table, including initializing the schema properly; start a few more parts of its implementation too. file: [64b3d009e0] check-in: [66cf1d39ad] user: user, branch: trunk, size: 88157 [annotate] [blame] [check-ins using] [diff]
00:11
Start to implement (LevelTable) definition (untested so far, and currently only the definition and not the implementation). file: [da031da59b] check-in: [3b02288a18] user: user, branch: trunk, size: 87885 [annotate] [blame] [check-ins using] [diff]
2021-12-10
00:00
Implement the (Control) block to define a global control object. file: [170c8e3f92] check-in: [665dcd24be] user: user, branch: trunk, size: 80275 [annotate] [blame] [check-ins using] [diff]
2021-11-26
05:28
Make the {include} macro safer, and allow it to work with composite puzzle sets too. file: [0a4452237b] check-in: [224148554e] user: user, branch: trunk, size: 79595 [annotate] [blame] [check-ins using] [diff]
05:12
Implement the "fork ... else ... then" block. file: [6a14969945] check-in: [f949f9c20d] user: user, branch: trunk, size: 79253 [annotate] [blame] [check-ins using] [diff]
2021-10-14
01:14
Complete implementation of (Order) block (mostly untested so far) file: [f768010252] check-in: [602616bb91] user: user, branch: trunk, size: 79239 [annotate] [blame] [check-ins using] [diff]
2021-10-08
04:26
More (still incomplete) implementation of (Order) block; also make a correction for the user flag blocks. file: [459caf781d] check-in: [df0935b0a3] user: user, branch: trunk, size: 79197 [annotate] [blame] [check-ins using] [diff]
02:27
Begin implementation of (Order) block (currently incomplete and doesn't work). file: [5acd447fb3] check-in: [a50cf8eac3] user: user, branch: trunk, size: 78248 [annotate] [blame] [check-ins using] [diff]
2021-10-05
00:26
Change the internal composite_slice function file: [197962d870] check-in: [2312d4d6df] user: user, branch: trunk, size: 75861 [annotate] [blame] [check-ins using] [diff]
2021-10-02
01:55
Implement composite puzzle sets file: [1ee8b910eb] check-in: [4919d2c22e] user: user, branch: trunk, size: 75860 [annotate] [blame] [check-ins using] [diff]
2021-09-19
01:48
Add function calls in pattern matching. file: [1bc0783ffd] check-in: [c43bc33f91] user: user, branch: trunk, size: 75815 [annotate] [blame] [check-ins using] [diff]
2021-09-11
07:00
Implement much more of bizarro world (currently untested, and not implemented in level editor yet). file: [8944449118] check-in: [2a3e5126fe] user: user, branch: trunk, size: 75704 [annotate] [blame] [check-ins using] [diff]
2021-06-25
04:17
Fix a bug in writing message numbers into CLASS.DEF lump file: [ca10f29396] check-in: [a0a2d667be] user: user, branch: trunk, size: 75648 [annotate] [blame] [check-ins using] [diff]
2021-06-04
20:54
Correct the implementation of "else" in pattern blocks file: [8f8b65d78b] check-in: [a800f290bf] user: user, branch: trunk, size: 75590 [annotate] [blame] [check-ins using] [diff]
2021-05-26
05:03
Implement the \d escape for embedding data in strings. The ability to use this data is not implemented yet. file: [85b9587edc] check-in: [a9cc459c7a] user: user, branch: trunk, size: 75557 [annotate] [blame] [check-ins using] [diff]
2021-05-24
05:06
Implement the {edit} macro. file: [3ce0307661] check-in: [c343f9952a] user: user, branch: trunk, size: 75505 [annotate] [blame] [check-ins using] [diff]
2021-05-20
00:47
Change Four and Eight to Rook and Queen; also add Bishop file: [674cdbf650] check-in: [e3c2fc3bcb] user: user, branch: trunk, size: 74114 [annotate] [blame] [check-ins using] [diff]
2021-05-13
00:17
Implement a {make} macro for making synthetic tokens. file: [390a2adac5] check-in: [6a9faa4fb1] user: user, branch: trunk, size: 74090 [annotate] [blame] [check-ins using] [diff]
2021-05-12
06:24
Make so that numbers out of range 0 to 31 are ignored for the {bit} macro file: [04c44003dc] check-in: [75e286812e] user: user, branch: trunk, size: 68916 [annotate] [blame] [check-ins using] [diff]
2021-05-01
01:29
Implement "and ... then" and "or ... then" blocks. file: [5da0f9cd30] check-in: [2f48f45b15] user: user, branch: trunk, size: 68902 [annotate] [blame] [check-ins using] [diff]
2021-04-28
17:10
Implement the (Others) block file: [ed615d969f] check-in: [1750e878e8] user: user, branch: trunk, size: 68876 [annotate] [blame] [check-ins using] [diff]
2021-04-27
23:08
Implement subclassing. (Only partially tested so far) file: [849ea4a56a] check-in: [757d440f6b] user: user, branch: trunk, size: 68553 [annotate] [blame] [check-ins using] [diff]
2021-04-26
01:05
Implement case blocks. file: [73ca03c751] check-in: [f4215e7216] user: user, branch: trunk, size: 66768 [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:54
Remove the "el ... if" block, which wasn't working. (Later, I may add a case block instead.) file: [39a51739c2] check-in: [932a5231ed] user: user, branch: trunk, size: 62624 [annotate] [blame] [check-ins using] [diff]
2021-04-22
03:00
Add possibility of additional code pages. file: [51b2fb5418] check-in: [9959860889] user: user, branch: trunk, size: 62890 [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:54
Add the "next" pattern operator. file: [bf6a8e2243] check-in: [81587e71b1] user: user, branch: trunk, size: 62593 [annotate] [blame] [check-ins using] [diff]
03:04
Implement more of pattern matching. (It is only partially tested so far. Also, only (P) and (,P) are implemented, and so far not (=P) and (P*) and (,P*) and (=P*).) file: [f6d1b8ebcb] check-in: [de3822f0fe] user: user, branch: trunk, size: 62579 [annotate] [blame] [check-ins using] [diff]
2021-04-17
05:53
Check for unterminated flow control structures file: [5e7918c55b] check-in: [288e31e44b] user: user, branch: trunk, size: 62289 [annotate] [blame] [check-ins using] [diff]
05:52
Start to implement parsing for pattern matching. Execution of pattern matching is not yet implemented. file: [79db9f5b70] check-in: [646aebd36a] user: user, branch: trunk, size: 62216 [annotate] [blame] [check-ins using] [diff]
2021-04-02
19:32
Implement diagonal shoving. file: [42fb9875e1] check-in: [57d6d9a4f7] user: user, branch: trunk, size: 59014 [annotate] [blame] [check-ins using] [diff]
2021-03-25
06:31
Implement user flags (a way to give a name to bits of Misc4-Misc7 and CollisionLayers) file: [8c2ce69ad5] check-in: [386d28a9fb] user: user, branch: trunk, size: 59033 [annotate] [blame] [check-ins using] [diff]
2021-03-24
22:17
Correct parsing instructions to write to global variables file: [e332480536] check-in: [b93ef3c599] user: user, branch: trunk, size: 56650 [annotate] [blame] [check-ins using] [diff]
2021-03-09
00:38
Add a comment into class.c describing the use of the hash tables file: [2180751321] check-in: [136167067e] user: user, branch: trunk, size: 56612 [annotate] [blame] [check-ins using] [diff]
2021-03-07
21:44
Implement (Help Misc1) for help text to be defined by the level strings file: [b307433f16] check-in: [42d0691852] user: user, branch: trunk, size: 56452 [annotate] [blame] [check-ins using] [diff]
2021-02-25
07:04
Correct the array dimensions and complete the implementation of arrays. Some levels of FALLING still don't work, but at least some of these (such as level 9) are not due to arrays. file: [faac25474f] check-in: [e7e0e8408f] user: user, branch: trunk, size: 56225 [annotate] [blame] [check-ins using] [diff]
03:28
Implement the {append} macro; also start to implement arrays in the conversion file: [f9db23fff0] check-in: [c4bb0e3270] user: user, branch: trunk, size: 56216 [annotate] [blame] [check-ins using] [diff]
2021-02-24
07:12
Start to implement arrays (there is no way to use them yet, and the converter does not yet handle arrays). file: [88b2dee7a7] check-in: [f7d9c45b1e] user: user, branch: trunk, size: 55180 [annotate] [blame] [check-ins using] [diff]
2021-02-22
04:53
Add a mark type and some instructions dealing with it. file: [48cf31f9d9] check-in: [902bd1a80d] user: user, branch: trunk, size: 54457 [annotate] [blame] [check-ins using] [diff]
2021-02-10
06:52
Implement and document key dispatch blocks. file: [52031ab4ec] check-in: [7e93e77e75] user: user, branch: trunk, size: 54279 [annotate] [blame] [check-ins using] [diff]
2021-01-08
09:14
Implement defining the CollisionLayers value for a class. file: [e553676803] check-in: [34870ce7e8] user: user, branch: trunk, size: 53411 [annotate] [blame] [check-ins using] [diff]
00:32
Change read_lump function; also add read_userstate and write_userstate. file: [234c623d64] check-in: [7dab93e8a9] user: user, branch: trunk, size: 53236 [annotate] [blame] [check-ins using] [diff]
2021-01-04
07:15
Implement the inventory display file: [a9810d154f] check-in: [0ba0570c8c] user: user, branch: trunk, size: 53238 [annotate] [blame] [check-ins using] [diff]
2020-12-16
00:37
Correct a few problems in the animation handling file: [33b921b461] check-in: [3608bd2d5d] user: user, branch: trunk, size: 53024 [annotate] [blame] [check-ins using] [diff]
00:08
Start the implementation of animations. file: [dde1df9612] check-in: [0f84344e70] user: user, branch: trunk, size: 53020 [annotate] [blame] [check-ins using] [diff]
2020-12-12
05:56
Implement for/next loops, and add NoIgnore() in some more places where needed file: [26222c9175] check-in: [ba612cfc1c] user: user, branch: trunk, size: 52247 [annotate] [blame] [check-ins using] [diff]
2020-12-05
03:51
Implement some more instructions, and correct a mistake in the instruction compiler file: [ea28ba8a95] check-in: [aa53c20de4] user: user, branch: trunk, size: 52291 [annotate] [blame] [check-ins using] [diff]
2018-08-19
21:53
Implement loading level titles (and level version and level code) file: [a15a0e55c6] check-in: [69c81d7254] user: user, branch: trunk, size: 52271 [annotate] [blame] [check-ins using] [diff]
2018-07-14
00:23
Ensure each line of help text ends with a line break file: [435ac101e6] check-in: [c1a1e6bede] user: user, branch: trunk, size: 52266 [annotate] [blame] [check-ins using] [diff]
2018-06-24
02:12
Implement stack overflow protection file: [9452666c10] check-in: [9f57c48591] user: user, branch: trunk, size: 52235 [annotate] [blame] [check-ins using] [diff]
2018-06-22
07:17
Add exec.c (moving some things from main.c); add definitions for exec.c in heromesh.h; also add a macro tracing option. file: [d86091200c] check-in: [9ffad27cd3] user: user, branch: trunk, size: 52184 [annotate] [blame] [check-ins using] [diff]
2018-06-10
21:26
Fill in the VARIABLES table file: [59aa7eb0cd] check-in: [fd3a87fc50] user: user, branch: trunk, size: 51430 [annotate] [blame] [check-ins using] [diff]
05:27
Corrections and completions of class loading; implement -x switch; correction to schema file: [2ba6e49ee7] check-in: [08625cbba0] user: user, branch: trunk, size: 50645 [annotate] [blame] [check-ins using] [diff]
2018-06-08
21:15
More class loading codes; correction to user cache file: [620e67e86b] check-in: [81d74d79e1] user: user, branch: trunk, size: 46736 [annotate] [blame] [check-ins using] [diff]
2018-06-03
22:43
The syntax of for/next loops has been changed; also added some codes for dealing with user cache data file: [38d08ac889] check-in: [8b26cd42e7] user: user, branch: trunk, size: 40823 [annotate] [blame] [check-ins using] [diff]
2018-05-27
22:33
More class loading code file: [d60d73f095] check-in: [9d448767e4] user: user, branch: trunk, size: 37523 [annotate] [blame] [check-ins using] [diff]
2018-05-19
22:31
Add shell script to compile everything; support $CFLAGS and $EXE environment variables file: [8167e45e03] check-in: [f833310c79] user: user, branch: trunk, size: 30492 [annotate] [blame] [check-ins using] [diff]
19:23
More parsing of .class file file: [aa9b29b498] check-in: [e049e8ed33] user: user, branch: trunk, size: 29322 [annotate] [blame] [check-ins using] [diff]
2018-05-05
23:58
Implement preprocessor, and add some more opcode names, and a few bug fixed file: [10cd656230] check-in: [79caf678be] user: user, branch: trunk, size: 23988 [annotate] [blame] [check-ins using] [diff]
2018-04-27
20:25
More codes and testing in class codes parser file: [c8671ac4ba] check-in: [02b262b608] user: user, branch: trunk, size: 10648 [annotate] [blame] [check-ins using] [diff]
2018-04-22
00:44
Further progress on writing the lexer file: [c6330b030d] check-in: [c36edda367] user: user, branch: trunk, size: 8345 [annotate] [blame] [check-ins using] [diff]
2018-04-20
05:04
Added: Add class.c and add more instruction names file: [a8af44a33c] check-in: [06c8b2a469] user: user, branch: trunk, size: 5648 [annotate] [blame] [check-ins using]