mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-10 15:22:04 +00:00
start working on our changes
This commit is contained in:
parent
ceb264ce87
commit
bbcd6caef5
1 changed files with 53 additions and 4 deletions
57
NEWS
57
NEWS
|
@ -1,8 +1,57 @@
|
|||
NEWS for the QuakeForge project
|
||||
-------------------------------
|
||||
|
||||
12 Feb 2001 - (Yet another) new source tree - quakeforge
|
||||
At long last, here it is, Merged Tree Project, mk. II! Includes
|
||||
all of the latest features and bugs from nuq and newtree. We will
|
||||
hammer out the bugs and add features as the merge progresses.
|
||||
changes from 0.3.0
|
||||
|
||||
o progs engine re-write
|
||||
o fully modular. mod/server independent allowing for standalone
|
||||
quakec interpreter and client-side quakec.
|
||||
o no longer dependent on progdefs.h (causes problems with quakec
|
||||
compilers that strip def names but those progs can be fixed using
|
||||
qfdefs)
|
||||
o new opcodes and types for version 0.fff.002 progs (version 6 still
|
||||
supported)
|
||||
o better dynamic string handling with garbage collected strings
|
||||
o Objective-C style object oriented runtime (incomplete but functional)
|
||||
o runtime linking of builtin functions whose builtin number is 0 ( = #0
|
||||
in qfcc (should work with any qcc derived compiler))
|
||||
o basic debug symbol support (only for qfcc generated progs) including
|
||||
source lines.
|
||||
o ".self" prefered over "self" for the self entity
|
||||
o ".this" field support for object oriented entities
|
||||
o qfcc: QuakeForge version of qcc. generally rewritten
|
||||
o use QF utils lib for general ustility functions (hash tables, file
|
||||
access (incomplete), pak files)
|
||||
o use QF gamecode lib for progs info (opcode tables, enums, types, etc)
|
||||
o yacc and lexx (using gnu bison and flex) based parser
|
||||
o proper temp def handling drasticly reducing the number of global
|
||||
defs needed for large progs
|
||||
o make all functions use the same block of defs for their locals (this
|
||||
is compatable with all known server variants) further reducing the
|
||||
number of global defs needed for local varaibles (now down to the
|
||||
largest function rather than the sum of all functions).
|
||||
o string operators (+ <= < > >=). requires 0.fff.002 progs
|
||||
o integer, pointer, array, struct and union types (0.fff.002)
|
||||
o Objective-C style object oriented programming support (Objective-QC or
|
||||
Ruamoko:). Use @self (entity ".self"; interally) for touch/think/etc
|
||||
functions and @this (.id ".this"; internaly ) for builtin OO support
|
||||
for touch/think/etc. "entity self;" will still work so long as @self
|
||||
is never seen.
|
||||
o nested/chained function calls work properly.
|
||||
o simple expressions (eg a = b + c;) compile to a single opcode rather
|
||||
than two and avoid using a temporary def.
|
||||
o C-style for loops
|
||||
o local var initialition (eg local float foo = 0.1;)
|
||||
o uninitialized variable detection
|
||||
o unused variable detection
|
||||
o vararg functions (ie, can write qc functions using ...: @argc and
|
||||
@argv to access the parameters passed through ...).
|
||||
o IMPORTANT: evaluation of "!foo & bar" changed from "!(foo & bar)" to
|
||||
"(!foo) & bar" which is more correct but incompatable with qfcc. A
|
||||
warning will be generated for the former unless --traditional is used
|
||||
on the command line and then a notice will be generated and the old
|
||||
evaluation used (ie, all is not lost:)
|
||||
o Uses cpp to pre-process the files
|
||||
o can generate/link object files (.qfo files)
|
||||
o library file support (.qfo files in a .pak file)
|
||||
o strict type checking
|
||||
|
|
Loading…
Reference in a new issue