|
Inferno #06
03 декабря 2004 |
|
Gamedev - the assembly of the game Wolfenstein 2004. Part 1.

Notebook on the assembly Wolfenstein 2004.
In brackets - add to the reader. What was okvadracheno in a
notebook, here in the curly brackets. Text in the slashes -
strikeout.
[P.1]
12xii03
WaterSun [one of chip'ov Moran'a] free = # 4200, ie player = #
6000 etc. Put menu Nikfe X-Color.
Downloader universal. First look at the disk, then archive
{Then to other disk archive}. How to load files> 32k (the menu
HELP ...)??? Everything is OK, through the buffer.
IMVEC = # 5b00 - bad! [Now] CHNMAP-512. SBPL [placement
5-sectoral WAV-player under the Sound Blaster, out of my game
2000] is not deposed, but it would be necessary.
SCALTAB [table containing the height and texture all
polustolbtsov screen] is populated LINES [the scan the walls
for a new frame] is not through the INC H. .. DEC H [for the
upper and lower walls of this in SCALTAB match], and by LDIR
after SCAN. From p / n SCAN [n / n Scan cards in certain areas]
are excluded Correction DXNOW, DYNOW [vector scanning. Now
adjusted from the outside - to use SCAN to view
monsters. But it appeared uncomfortable because of the
variables of procedure. Sight monsters must be called an
interrupt, and scanning walls - past the break, while the
variable n / n lie in specific location]
[Button] N [later thrown out] = nomonsters (+1 fps) [measured at
map Entering the castle, the monsters of intelligence was not
there]
POOR MEDIUM HI-END
128k 256k 1M
menus: {AY??? (FD!)} COVOX FB SD
NO DIG
turbo: ~ 100% ~ 140% = 200%
video: small big big
i-lace i-lace full
[I-lace - only the calculation of each 2-nd line]
interscan interscan full
[Interscan - calculation of each 4-th column, rather than the 2
nd. Customize "Ray precision"] [side of the sign: "almost as
expected", "quadrascan 13xii "," full with nokey "] [quadrascan
- calculation of each 8-th column, as in DooM-B]
speed: 80% (6 frm) 100% (5 frm) 120% (4 frm)
{3d13 turboload 3d13}
mono mono color walls / goods / monsters
/ Countmonsters = 10 = 20 = 40 /
- Screenmsgs screenmsgs + digisound
menu: load memory (packed) memory
no handmove yes handmove yes handmove
- Cached cached (detect?)
- Moused moused (detect?)
music: / off / on on on
troops off on on
[There were buttons I (current R) and H. V and T (the current
M) already were]
13xii
+ Extrapolation quad [rascan] with the message. Quadrascan:
extreme Four right extrapolated:
A B C
C = 2B-A. Overflow. Murder [overflow]: Porting
Shear JB is the transfer of the subtraction. [This is about the
height. Overflow in the texture coordinates fixed 16viii04]
+ Waiting. vacation. keys.
Why RL sometimes slow? along with the music
/ A) lost the tail of the chain of monsters /
/ B) the wrong number of missiles /
/ A) systems. registers? FIXED /
g) SCMONS0 wrong exit FIXED.
Need a time out.
Vistula in suicide FIXED (EI).
Rocket blows strongly in the direction of where you look.
13xii: ADD-> SBC (KR).
Spontaneously appears scull key FIXED: everywhere XOR A / OR D.
FIXED divtab (instead of eight 1,2) [table size balls]
When do bullets and guns can be seen, punch acts on the
distance FIXED:
/ Push bc /
CALL NZ, BOOH
/ Pop bc /
=> LD C, A
Acts and disappears star (under her protection is reduced, as in
Quake), IV, QD. Believes until 8bit numbers without attributes
[a Quake IV, QD and the star player's field of view stained
with each in his own way]. But flickers at vanishing.
[Procedure] CROSS, AYOFF, / OUTME / [now] in the module.
In a series RL - monster (RLMONS0) no Restore-Xia address HL
FIXED. Total killing monsters with the correction of QD. You
can beat the wounded [Previously it was impossible].
Interesting effect: if the shoot out PERFORATOR'a up corpses,
the bullets spent more than if time to stop. Good! / With the
murder PERFORATOR'om can hang / Looking scatter power hitting.
When nevzyatii heal [because of the energy of> 100], the energy
decreased to 100 FIXED. VASE gives 1% heal. VASE and TREAS
[URE] make money (they are not visible). If you knock the
protection, having a star image disappears, and if protection
no longer exists, it is still displayed after vanishing Star
FIXED.
[Page 2]
14xii
[On this day, the texture of monsters and things were finally
placed on two pages. Zombieman - in PGSPR, others
Monsters - in PRSPR2. Monsters were drawn at different times in
the following order: zm, cacodemon, commander, herr major (by
shiru otaku), dog (skonverchen from the original Wolfenstein),
ogre, hitler (made out of herr major'a) The Notebook arrows
indicate What phase corrected coordinates in the table MONSTAB,
where the number of different format and therefore contain
errors. Corrected 4i, 15xii, 20vii, 28vii, 14viii. Numbers
mean, who for some X-coordinate lies in PGSPR2]
shiru (lord) [herr major]
attack: 0-16
move1: 17-25
move2: 36-53
scared: 54-71
cacodemon
caco: 72-83 - attack?
scared: 84-95 - norm? Simm [etrichny sprite]
dying: 96-107 - scared? /
troop: 108-119 - only the bottom 15xii
lamer [commander]
move1: 120-133
move2: 134-148
scared / attack: 149-162
dog
move1: 163-174
move2: 175-185-low
attack: 186-199
scared: 200-211 - low
ogre = demon [demon sprite is not drawn. Ogre and demon differ
from each other energy]
move1: 212-226
move2: 227-240
scared: 241-255
6 monsters, demon (N16 [for numbering items in WolfEd])
change in the ogre (N19). Take time of QD, IV and 666 of the
card OK 17xii. FIXED: was prizes, must be got.
SETACNT [keep time] in the game loop?
SPR [N12-13] N17 N18 N15 N14 N19 N16
zm shiru caco lamer dog ogre demon
E = 70 E = 200 E = 250 E = 120 E = 50 E = 150 E = 250
0 3 6 9 CF 15 December 1918 1B
0 move1 / 2 G bigAM col <3 {move2} R gun {boom} |
6 back MegaH rifle table |
9 attack RL heal rock | in zm
C wounded ammo IV Tree |
F dying bull 666 {cell} |
12 troop roc vase50 $ QD - that is here
1915 - key chest500 $ |
^ ^ ^ <----- Logically here [to n / n COLLnM]
(No more than 1)
though ... let CLOSED. doors open forever! and keys
decremented. ORG '($ +255) * 256 = ORG $ +255 / 256 <8 = DS
.(-$) The dog does not fit in the bottom. part of the [texture]
FIXED 17xii Hangs sometimes when I caused. of RL + QD FIXED
Last to finish. page graphics + QD
15xii
MONSTR [process unfolding in SCALTAB monsters and items
by their coordinates]: in T10MONS [Table of monsters, which
should thinking at the moment. A maximum of 10. Subsequently
eliminated] all types of monsters, except for the corpses.
Paced all. Addresses 4! While a dog can not kill, except from
RL. 16xii
To finish L3. When you call MONSTR important depth and content
stack. Bullets fly across all subjects (low), except for a
corpse Cacodemon'a. You can kill a dog, but to hand. Hand can
not. 17xii
When you add no overflow. The problem with dead bodies - they
can fill up the passage! You can count the stones and the
corpses of various (done) all the dead bodies passable. In 256
[k], you can add extra sprites. ???? Up-tuning. MAIN "WOLF *".
At boot. ur. ATR = color, keys, shots, killed, got, timer = 0.
At start-up SETATR = ATR. Lowered dog. Suffered PRSPR etc. in
PP [source W3D? PP *. H] NoGet POP AF - or AF, or address of
the curves. from p / n ADD100
POP BC - at the beginning of [n / n], it was POP DE,
HL .. PUSH HL, BC
PUSH DE: RET
In RL now 0 cartridges. Zap [ertye] doors open forever,
keeps track of keys.
[Page 3]
18xii
(John) should clean up the sight with RL and his hand too 19xii
FIXED. Must [Chip Tracker] player with IM2, but it hangs. And
EXX not identify. Wall [before starting WolfEd] revolve
themselves [from vertical sprite is horizontal]. Files
[transferred] to [Directive] DD: TILE, ICONS!, Removed ORG $-...
WED [aka WolfEd]: in the catalog quick hands, Demon = 250
units., rights [yl] def [edelenie] mouse [was through the port
# ff, now through the interrupt vector], FIXED bug: CS / Z -
erase, [CS /] X - erase buffer FIXED 19xii, [CS /] C - to take
[, V - insert]. CALL SCRLCONT: LD A, E! SEL_TRI: 0 - select, -1
- has already been allocated (Ex. Comp.) S-kill sel.,
D-beg.sel., F-end sel. CLICK1 - why 4 ADD A, A?
20xii
It is hard to catch a break right in the main loop [digital
player] - because may arise nedoinkrementirovannye address.
Better define the number of cycles in a frame and after Ch.
cycle to EI: JR $ [HALT] Time floats ...
Removed from TOPO.CHI unnecessary sample - for HELP? MB This is
the remix old Mouzon Moran'a? MAX SMPLS = # 9900
WaterSun: # BB00-# 4200 = # 7900 SMPLS. Nestab. SM [data bus on
my pentagon]? I = 59 is not a slave. [Later revealed that the
computer not guilty] was able to make a hanging interrupt, with
warning, it just go c / o tail sample. But where more clicks?
Perhaps because of the super-offset'ov. Fixed PLAYER10: do not
ship on a blank sample. But the playability is not guaranteed
Xia ... Hangs on WaterSun (!) If samples are 0,2,3 ,..., is
bad. With "1" - better. Click on [position] # 18-1c. Sample 7
did not help against whistling in the "6". / 6 th place 1 is no
longer whistling: - glitch on G-1F # 1 6070. / Whistle on any
bad # FFXX! [Version player under Covox when calling
interrupts] may confuse DE <> HL FIXED 23xii - just less
gurgling. 22xii
To finish menus [corrected in the picture NIKFI "Greetings" on
"Options"]
23xii
Glitch in the player - not decoded samples of the spoils # FFFE.
Rulilku made in options [with digital music in the background].
SD play (Not tested). Was a difference of SD-COV = 33-8, was =
33-16. It is necessary to PLAYER'e and in the CHIP'e kill LD E,
A: ... A, E of INCD2 / 4 (SDPLAY) FIXED 24xii
2i04
WED10 in one file (the font to 2 bytes in one). Trial
boot # 3d13 - works. AYPLAY [player sound effects
WOLF]: L-frequency, auto-channel B / C to ooh / aah ([selected
channel], where there ENV), avtovkl. TONE (was not).
Music MUZ # ... C, without the initia-tion (PT Util). Backbone
for the SAVE / LOAD "WOLFSAV #" They d / b the same size
(currently 1k: ENDMONS-GAMEDATA, plus the need to load muz, gfx
and maps) and d [listed should] be written over. Necessary to
provide DISK FULL [at free overwrittenfilesize or loadfilesize> BC].
+ Selector type of company, music = SHARMY. Music & Graphics -
loadable. The driver and the player (?) In the general address
for all? and font too? Booting from CS = safe mode? firstrun
mode? Time must flow into the game cycles everywhere. [Network]
sharing the same of game cycles, then do not gb different rates.
Options [should be]
game speed
music ON / OFF ... - OFF / SELECT (for level 1 to play)
AY effects volume ... +0
window BIG / SMALL
precision HI-MED-LOW
high memory gfx ON / OFF
title screens lace OFF / PLAIN / WAVE [gigascreen impossible -
to screens diamond hatching]
digital music [AY] / COV / SD / NONE - port ...
loader # 3d13/turbo
reinit disk model - disk A / B / C / D
save
reset to defaults (for def. type companies - 3 pcs)
3i
Prizes are? FIXED. Kill level, muznr, gfxnr. In their place,
the field "WLF" [then had to return back]
TURBO SOUND for the effects?
[Page 4]
Save to DEMos packages such as exchange (of the same?) Each
game series. Not scroll back, forward - to accelerate the
frequency of games. cycles. In an exchange of only the full
acc-e slot spaces!
xy
XY
angle - at the moment of firing, ie, the end of games. cycle
# Weapon
[Cartridges]
shot Y / N
open Y / N
{Energy
armor-up of the monsters or after?
armor type /
keys
QD, 666, IV}
global time and others - in the title to the same table.
MONSTRS? How to destroy unexploded balloons? Control only at
the end cycle?
PL1 PL2
... ...
game play
--------- ----------
shot / my shot - CURMON (Mid)
exchange / here is to know them!
/ Exchange - or LOAD / SAVE.Zdes same
spetsknopki?
his shot / shot monsters - a conflict? ^
--------- ----------- |
processing of energy-energy treatment - or is interrupt-th |
... ... (Equivalent?) |
(Only OPEN, FIRE, LOAD, SAVE 8i4)
When you change the speed of games. cycle is necessary to
change the speed MOVE [n / n Player movement] and MOVEKR [n / n
of the ball / missile] or move balls smooth. Doors: controlled
(rough) coordinates that change each cycle. For the map I use
refinement counter + = 51 (So, for the second cycle for the
[now there's no meter, and the table in frame +1 bytes s -1 at
the end]) Cycle = 5FRM. A shot at it. FPS, LEG, QD, 666, IV, as
amended [enenie] color screen, too. Ism [enenie] color screen
in HARMME, and time in the head. on the strength of
povrezhdeniya/16. Interlevel pictures should hide and at the
same time improve Compression ... in WOLF1 without
zaXORivaniya, and then you can invent. AY digiplayer buggy:
(RECODE and so did not need ... Because C48 <> C48A FIXED 3i4.
First UNILOAD'er: a resident of the 2 operations: INI and LOAD.
Theoretically, you can use the Extended Features of floors
exchange screens UNILOAD then be able to do disk operations
from any memory without a resident.
4i
Must INIC [ializa] function / with a black screen / - is not
necessary, there is 1k buffer. Reading directory RAR and bring
names to the 8.1. Depaker through the buffer 1k in the same
page - then do not need paklen. In handle only one extra byte -
a position in sector (instead of secsz, during a bit7 in sect
#). Ie missing 14 bytes. If you prefer, you can load files and
c / o buffer 1k, then there will be blending east. part of the
sector (but several. slowly - but such File small =>
unnoticed). HISCORE, SETUP and shipping should be keep c / o
the same p / n - fixedsize, overwrite. HISCORE encrypted and
not text? SETUP in the end achieves Enter'ami to 1k? You can
limit the catalog only those files to e- appear in the SETUP
(can not call them by name, but the code in the SETUP).
Killed mashing # 5b00 in INI.
AYPLAY - [more soon] circumcision no sound on VOL = 0, and by
VOL = 6.
6i
N / n we download files level. If you enter the SAVE / LOAD
OFF. Music and put IMER = EI: RET.
7i
Address monster, if it is not under the gun, = # 00XX.
Considered shots'killed, late in the game - totalsh and
totalki, and TM. totalgo and totalti, shown Xia time. [On the
button C] show-Xia total time, in level - without the time
level. All files are uppercase [because that lower case letters
in the font - Russian]. Why in the MSG include PGICO?
Why hang # 3d13 in the game? IM1, EI, BASIC almost clean (except
# 5E00), stack = # 5FF1 ... IY shot down!
[P.5]
Balls disappear in the summer?
Messages are not overwritten - are a continuous flow even when
blacked-out screen (top 1 / 3 is not clean). TCHREC [one of the
two tables for the construction of a large table, chunks],
MAKCHTB [n / n construction of the table] is not overwritten.
[Do] shipment.
While not preserved, Xia options doors and balls - they must
still null at boot. Level FIXED. Not pererisuy-Xia gun FIXED.
Why no posts, I have NO FILE? FIXED. When loading is verified
overflow-e-length! [In BC indicate max. length] When the
exchange is not need to pass parameters to bots - they each PC
can drive independently. It is only necessary to combine the
RND-generators (not Liabilities .= 0).
Had [in the interrupt handler to remember] PUSH: POP
[Contents] (CURPG) [included current page is updated
n / n OUTME], because F66 [6x6 font for numbers] is now in the
page. Killed 7 bytes at the end of the 4 th and 8 th-th scaling
procedures [of those which are generated in the # 0000 or #
6000]. PGLOAD [page disk driver] = PGICO [Home weapon sprites
and icons]. Why close the door again sealed? At the opening of
a step it was not.
INC A
JR Z, NOclEX here is
DEC A / FIXED 8i4
... # BF ...-# BF /
The doors are closed tightly (killed JR Z. .. in OPEN) 8i4.
In the SAVE / LOAD at the end of DI: IM 2, but _do_ this NOKEY
[n / n waiting release the keys] 8i4.
If a locked door in the open, but open the other door,
locked up close! (A key anymore) FIXED 8i4
(BIT 5, A: JR Z: XOR A in OPEN2).
After loading the screen flickers: (but did not seem to reset
... fold may, if LOAD with unfilled SCALTAB. FIXED
8i4: SCALTAB in shipping, which was originally in it PGWALL.
Back font for numbers in the PRS [n / n print print 8x8, deja on
address FONT] (in [n / n] FPS [enabled] PGICO [where is this
print]).
If the conflict in the IMER, then either delete it never has
been, or in lieu of removal - to set bits distance (you can
with cleaning at the end frame - pretty hard - you can not), or
the construction of Table. vimimyh monsters in the IMER (the
rate at ~ 10FPS worse will not, but problems ...). Pts.
convenient RES 7, Y - in SCMONS0 [cycle enumeration monsters to
display and control their counters injury / death] itself is
filtered, but in circles - it is necessary 9i4 artificially
until the prairie st. [Znakomestnye] 4.7 erases the line
together with the bottom of the screen when LOAD - there are
only 0-3 9i4. QD, IV, 666 disappear ugly (/ # 3D00 does not
contain nine zeros?? / No was inc. PGICO) FIXED 9i4.
At 666 take protection of washing asterisk FIXED 9i4.
When SAVE / LOAD / / EXIT / will not turn off the cache FIXED
9i4 n / n IM1, then IM2. TRUP [out of the game - the defeat] is
called after the frame on HEAL = 0 9i4. Monsters have handled
the case. QD did not work on monsters FIXED 9i4 and the player
also FIXED 9i4. Once when the QD during the suicide to the
lower RL. half of the screen in the middle was a piece of
levoty: (Another levota slipped under boot - to the top. part.
10i
There is no SP in COLLIS and TRUP. Made handling of conflicts
in the IMER - rubber goods:) yx, YX - to interrupt, I, LBC /
LDE / LHL - for OFF-INT.
24i
FPS is correct (for after. Several. Seconds) - kopyatsya NFPS
and the AFPS, when overflow - divided in half. "DISK OVERFLOW"
like to be displayed. We need to accelerate in derar UNILD
(FIXED 25i) and fixed (not constructed an empty tree) (FIXED
25i). Quickened scan when searching for collisions. Still
9.8fps <10fps (I [ray precision] = 3, V [video size] = 16)
[P.6]
25i
CURPG = # 5B5C. MONSTERS [allocation table items and enemies -
8 bytes per piece] at div8 <3 (ORG - $ '7) [for walking on
command table INC L]. Still <10fps. Does not see the 2-nd file
Archive - FIXED. Random motion monsters. But sometimes conflict
Comp hangs% (. Why? page is not to blame (PGMAIN). Monsters
honestly removed installing RES 7, Y (it is checked).
Made N10MON [the current number of monsters in the now-defunct
Table T10MONS] = 0 when the loading level. / Excuse LD (IX), A,
but Why? or / DB "---- it again on TAB <> 8! [with TAB <> 8 and
Closure quotes alasm compile extra bytes RST # 38] FIXED.
Absolutely synchronous motion (options: 4frm, 5,6).
Should not move the bodies, etc. Only FASE = 0! But to think
(See back) for FASE = 6, and shoot through the time when FASE =
9. From FASE = 0 should periodically go to the FASE = 9. Do not
shoot have to go around for the player and attack there.
27i
It is necessary after each call to check on MOVKR explosion; it
and there.
28i
Table. T10MONS not be OFFINT - you can not do
demos! FIXED 1ii
31i
Correct overlapping objects of different heights. The site is
also now be seen only if it can be seen mid-(speed up). INKEY
[Poll keys movement], CHVIDE [change screen size for kn.V] -
in the module. Only reason there is little FPS: (It should be
an objective timedemo. In the standing position (no keys, and
rotations) picture constructed with QSC [ray precision] = 1.
Must otklyuchabelno (FIXED 18ii Button B [when building games
removed]). More linear movement of enemies. Proc. RND =
RAND/256. RAND = RAND * 17 20 981 [number taken from the lamp].
At the start of the level of (Not LOAD): = 0.
1ii
FIXED T10MONS (table is destroyed). Gone, not even a
aims. Were killed (CURMON +2) = 0 before SCMONS0 FIXED. Can not
record a demo for CURMON: (We'll have him, and distance e in
the (Mid) store too.
3ii
Duplex for AY would be faster? Hardly ...
6ii
In UNILOAD should be WOLFNT, {FONT66}, INKEY, {SETIM}, SHUTAY.
Availability CACHE and K. MOUSE testing [should!] Startup menu
Games!
Quit to:
CACHE pg0 -> 0
CACHE pg0 -> # 66
CACHE pg1 -> 0
CACHE pg1 -> # 66
GLUK (through the CACHE. Can we not?) CACHE: 1910: IN A, (# 7b)
for inc. 128pg1 and DOS (and come to QC2.82 - where the top #
38). NOCACHE: OUT (C), A / at the beginning of DOS / or the end
(# 3FD1 = OUTI). Then the transition on the RST # 38 [who gb
lot at the end of page Gluk'a and which contains a command Gluk
Service] RET (SP = ROM). Naturally, DI. And how to get into
DOS? Or if inc. pg1 enter into # 3D44 (RET). [Actually, only
with a knowledge of the contents of # 3dxx in page Gluk
Service. There's a certain place to be RET (Conditional or
unconditional)] 128 MENU
48 BASIC / 48k {/ 128k}
48 BASIC / MAX
ASM # 51
STS # 57
DOS / 48k {/ 128k}
DOS / MAX
{Quick # 17?} - Saved in TOPMEM or should not?
boot
7ii
Hit [the monster], and attempt a shot RL [monster] to
count procedure SCAN in the direction of the monster-> player
(step is equal to this vector / length (sqrt (dx ¤ + dy ¤)) *
k. or divide by 2, until it reaches the range).
What is the radius of contact of the ball to the wall? should
be <128. Seem, generally at the wall.
16ii
In PLAUTO2 [digital player] speed detection
PC to 8 interrupts. Somehow the numbers in Table. Frequency
turned out not calculated: (
18ii
The monster must turn when he squared / clipping /
conflicts of X, Y {+ -1}. Then there is no need to once again
sort out. OK, but until the cycle HODMONS. How would still
speed up the strumming? A. Scanning;
B. move monsters;
B. collision.
The cycle of conflict now without IX! MONSTERS = 7.35fps,
NOMONS> 9fps with music. Wherever possible, RET, and JR, JP at
the optimum, are avoided rare action ... 10fps = 350.000 t /
frame (music ~ 17500 t = 5%) Button B ON-OFF refinement
quadrascan / interscan for FPS ... If neberuschiysya object
lies on the taker, then in half cases can take.
[Page 7]
So, for a shot (ON-INT): SCAN works with respect to: DXNOW
(Dx = + -. 15 [bit]), DYNOW (dy = + -. 15), LBC +2 (y = 16.),
LDE +1 (X = 16.) And LHL +1 (adres!) [and the flag Z]. Result:
D = scale (here do we need it), C = texX, E = ID, B = pg. The
result should be compared in the D with the distance to the
target. Why delete seemingly unnecessary commands in the new
CHIP player'e spoil samples? FIXED 19ii. Do not put 0 in the
frequency of "R -". Now played without interruption (with a
per-Stu optimization ON-INT and under the OFF-INT). Error in
speed is more tolerant: -1.5% +. 28ii
Translated Soars in MAIN # C6 [before some sources on my drives
were set to # C6, others - at # 46. Now everywhere # C6]. When
im2 player plays COVOX 7bit [this is not true 7bit: Feeds
are added in pairs, divided by 2, then again and sklydyvayutsya
divided by 2], it sounds better.
2iii
When DI tried 7bit - a little better, but on the verge of
hearing: ( [A sampling frequency less]
Other articles:
Similar articles:
В этот день... 14 November